Shell 脚本 – 错误的解释器:不允许操作

Shell 脚本 – 错误的解释器:不允许操作

我将以下脚本放在名为“volume”的文件中,并将该文件放在 $PATH 内的文件夹中。我可以通过“bash thatpath/volume 10”顺利执行它,但当我尝试从任何地方仅使用“volume 10”执行它时,我得到“/bin/bash:错误的解释器:操作不允许”。该文件的权限为 755。

#!/bin/sh

FIRST_ARGUMENT="$1"
echo "Set volume to $FIRST_ARGUMENT!"
osascript -e "set volume output volume $FIRST_ARGUMENT"

答案1

我读到了一些类似的问题,他们还指出行尾可能乱了。所以我新建了一个文件,再次输入了所有内容并保存。+x:编辑它,它开始工作了。所以我猜是的,行尾是罪魁祸首。我确实第一次用 TextEdit 编辑了文件,它不应该给出 Windows 行尾,但无论如何它现在已经修复了。

答案2

顺便提一下,我在 Mac 上重命名了 Finder 中打开的 BBEdit 中的 shell 文件后遇到了这个问题。然后,当我在 BBEdit 中修改文件(正确反映了新文件名)并保存时,我无法再运行该脚本。

对我来说,修复很简单,只需退出 BBEdit 并重新启动,然后再次保存文件即可。

相关内容