用docker解决MacOS下shell命令问题
2019-09-19 本文已影响0人
小伟_be27
最近在mac下执行shell脚本遇到一个问题:
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname path
这个主要原因是mac下运行不了linux命令,百度下面很多解决方案:
例如:
1.安装coreutils:
brew install coreutils
2.终端下运行此命令
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
执行上面,两步问题解决。
其实会用docker可以不需要这么"麻烦",mac下运行不了linux命令,那在mac下搭个linux环境不就可以了吗?
1.mac下安装docker,从镜像仓库中拉取centos镜像
docker pull centos
2.将mac下目录"挂载"到docker目录下面
/test表示被挂载目录,注意是绝对路径
/soft表示docker下的目录,注意是绝对路径
docker run -it -v /test:/soft centos /bin/bash
3.在/soft目录下面运行shell脚本
sh test.sh
挂载之后soft这个目录相当于一个 "共享目录",mac下面对这个目录的修改可以同步到docker环境下,docker环境下对此目录修改也可同步到mac下面。