【发布时间】:2019-01-07 08:36:08
【问题描述】:
我绝对是一个命令行新手。我最近失去了使用
执行 shell 脚本的能力./script.sh
我仍然可以使用以下命令执行 shell 脚本:
sh script.sh
我的 $PATH 如下:
/Users/goodguy/.pyenv/shims:/Users/goodguy/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin:/Users/goodguy/.rvm/bin
我正在使用 MacOS。如果您能深入了解我可能做错了什么,我将不胜感激
【问题讨论】:
-
也许它没有设置可执行标志。检查
ls -lart script.sh并查找x。您可以使用chmod +x script.sh将其设置为可执行文件 -
也许
. ./script.sh也可以。这里第一个点代表source,在不启动新shell 的情况下(尝试)运行脚本中的行。第二个点是当前目录。 -
@MatthewDarnell 就是这样。我尝试使用 sudo 运行上述内容,但仍然无法正常工作。我想如果我可以使用“sh script.sh”执行——意味着它是可执行的,但没有意识到我必须设置一个标志