我确实在
上找到了问题错误的解释器:SO 上没有这样的文件或目录。
当我从
更改脚本时,我的问题也解决了#!/usr/bin/bash
echo -e "\t\t\e[92mHello from the Test Script!\e[39m"
为:
#!/bin/bash
echo -e "\t\t\e[92mHello from the Test Script!\e[39m"
后 我在这里找到答案的第一线改变了。
Shell script: Bad interpreter.No such file or directory
我无法理解为什么从第一行删除/ usr会有所帮助。
P.S。我正在学习linux文件权限,即使在使用'755'更改权限后我也无法执行我的文件。 所以,如果有人能解释我的话,请提前。谢谢。)
答案 0 :(得分:2)
在您的系统上,bash
shell位于/bin/bash
而不是/usr/bin/bash
。
!
之后的路径应该是可执行文件的路径,该可执行文件将作为参数传递脚本的内容。
您可以在wikipedia
了解详情关于你问题的第二部分;它不重要的是权限是什么;因为文件指向一个糟糕的翻译。
有关unix文件权限的更多信息,建议您阅读this entry on wikipedia。
答案 1 :(得分:1)
那是因为/usr/bin/bash
没有bash二进制文件,bash的正确路径为/bin/bash
。
脚本顶部的#!
行称为shebang,用于确定运行脚本的程序(sh,bash,ruby,perl,python等)。
这篇文章很好地涵盖了这个主题:
答案 2 :(得分:1)
在我的情况下,在脚本名称之前添加sh
解决了问题。
答案 3 :(得分:0)
您也可以通过添加" ./"来调用您的脚本;在开始时,如果您从本地目录中调用它。另一种解决方案是通过指定其完整路径来调用它。