我想在mac电脑中写一个shell脚本。姑且命名为 test.sh
。
这个脚本存放在 文稿(/Users/lb/Documents) 文件夹里。
现在有个问题困扰了我很久,我想在这个test.sh
中,进入到该脚本所在的目录,即 文稿(/Users/lb/Documents) 文件夹。
请问我该怎样实现呢?
我尝试了很多种方案,包括但不限于 cd "$( dirname "${BASH\_SOURCE\[0\]}" )"
和 cd "dirname $0"
相对目录呦,我希望这个脚本可移植,所以需要使用相对路径的方式,进入到该脚本的所在目录
我当前的脚本如下(mac不在身边,所以在 windows 上写了个样例)
等价于
但与
cd "dirname $0"
不同。$(xxx)
会按表达式进行执行,会按子命令执行,
cd "dirname $0"
只会把$0
替换,dirname 会看成字符串,不会得到执行。