我是 Linux 新手,我.sh
的桌面上有一个想要运行的 shell 脚本 () 文件。
test.sh
这是我的目录中的文件内容Desktop
:
#!bin/bash
#test.sh
echo "test"
我想test.sh
通过终端运行(执行)。这些是我使用的命令:
cd Desktop
我允许运行test.sh
:
chmod +x test.sh
然后尝试打开文件:
test.sh
但是我收到此错误:
test.sh: command not found
当我输入时test.sh
,./
再次收到此错误:
bash: ./test.sh: bin/bash: bad interpreter: No such file or directory
我究竟做错了什么?
答案1
bash: ./test.sh: bin/bash: bad interpreter: No such file or directory
代替:
#!bin/bash
和:
#!/bin/bash
bin/bash
是相对于当前目录的路径。 /bin/bash
是无论当前目录是什么都可以使用的绝对路径。
另外,看看你的 PATH:
echo $PATH
如果您将其放在test.sh
列出的任何目录中,您将能够执行它而无需./
或其他路径说明符。许多人创建一个$HOME/bin
目录,将所有脚本放在那里,并将其添加到他们的 PATH 中。
答案2
为了能够运行你的 bash 脚本,将第一行更改为
#!/bin/bash
这是将解释并运行您的脚本的二进制文件。
要运行 bash 脚本,请执行以下操作
./scriptname.sh
在您的示例中:
./test.sh
在您拥有脚本的目录中。
答案3
我在 Windows 机器上编辑了 .sh 文件,发现了类似的问题。运行dos2unix
脚本后,问题得到解决。