我正在通过这个教程学习bash scripts,以便为我自动完成一些任务。我正在使用putty连接到一个服务器。
脚本位于.../Documents/LOG
中,是。
#!/bin/bash
# My first script
echo "Hello World!"
而我执行了以下的读/写/执行的权限
chmod 755 my_script
然后,当我输入./my_script
时,我得到了标题中给出的错误。
一些类似的问题想看看这些,所以我想它们可能会有帮助。
which bash
/bin/bash
和
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/bin/mh
我试着在PATH
中加入当前目录,但这不起作用。
在Windows env中创建脚本,然后移植到Unix环境中运行时,我曾看到过这个问题。
试着在脚本上运行dos2unix
。
http://dos2unix.sourceforge.net/
或者在你的Unix环境中使用vi
重写脚本并测试。
Unix使用不同的行结尾,所以无法读取你在Windows上创建的文件。因此它把^M看作是一个非法字符。
如果你想在Windows上写一个文件,然后移植过来,确保你的编辑器被设置为以UNIX格式创建文件。
在notepad++的屏幕右下方,它会告诉你文件的格式。默认情况下,它将显示 "DosWindows"。要改变它,请进入
如果你在Windows或Mac上使用Sublime Text来编辑你的脚本。
点击 "View > Line Endings > Unix",并再次保存文件。