怎样在mac的shell脚本中进入到其他目录

我想在mac电脑中写一个shell脚本。姑且命名为 test.sh
这个脚本存放在 文稿(/Users/lb/Documents) 文件夹里。
现在有个问题困扰了我很久,我想在这个test.sh中,进入到该脚本所在的目录,即 文稿(/Users/lb/Documents) 文件夹。
请问我该怎样实现呢?
我尝试了很多种方案,包括但不限于 cd "$( dirname "${BASH\_SOURCE\[0\]}" )"cd "dirname $0"

相对目录呦,我希望这个脚本可移植,所以需要使用相对路径的方式,进入到该脚本的所在目录

我当前的脚本如下(mac不在身边,所以在 windows 上写了个样例)
image.png


image.png

阅读 3.9k
1 个回答
cd $(dirname $0)

等价于

cd `dirname $0`

但与cd "dirname $0" 不同。
$(xxx)会按表达式进行执行,

`xxx`

会按子命令执行,cd "dirname $0"只会把 $0 替换,dirname 会看成字符串,不会得到执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题