我编写了以下基本脚本并将其保存为my_script
:
#!/bin/sh
# My first script
echo "Hello World!"
然后我运行以下命令:chmod 755 my_script
以授予 shell 执行脚本的权限。我将此脚本放在我的 bin
目录中,该目录是我的用户 (macbook > bin) 的子目录。我通过执行 export PATH=$PATH:bin
将此目录添加到我的路径中。我仔细检查了 bin
目录是否已添加到 PATH
,确实如此。我只能在 bin
目录或我的用户目录中运行脚本。但是,例如,如果我导航到 macbook > 文档,并尝试通过键入 my_script
来执行脚本,它将不会执行。我收到以下错误:-bash: bin/my_script: No such file or directory
为什么我的脚本没有在这些其他目录中执行?
最佳答案
您需要将绝对路径添加到 $PATH:
export PATH=$PATH:$HOME/bin
否则 shell 将始终搜索当前目录的 bin 子目录(仅当您的当前目录为 $HOME 时有效)
关于linux - 即使将其目录添加到 "PATH"变量,也无法从某些目录执行 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181441/