我正在尝试在 Mac 上制作一个可执行脚本,它会在当前目录(cd)中创建目录,然后运行更多命令。我从一个命令开始find
,但最终由于名称相似的文件而导致问题。提前致谢!
我不知道要运行什么代码,但它将包含该cd
命令。
我期望发生的是,通过运行一些命令,我可以在可执行文件所在的文件夹中创建文件。
答案1
您可以从脚本名称中提取包含脚本的目录的路径。脚本的名称存储在$0
变量中。您可以使用dirname
从中提取路径。因此,要将当前工作目录更改为脚本运行时的位置,您可以像这样启动它:
#!/bin/zsh
cd "$(dirname "$0")"
我$0
在传递到之前引用了dirname
,并且$(…)
在传递到之前进行了替换cd
,以防路径包含空格。