所以我格式化#34; colors.sh",它位于我的桌面上一个名为notepad的文件中。尝试使用以下方式运行它:
./colors.sh
然后它说这个......
shell@shell:~$ cd Desktop/notepad/
shell@shell:~/Desktop/notepad$ ll
total 144
drwx------ 2 shell shell 4096 Apr 9 2015 ./
drwxr-xr-x 11 shell shell 4096 Jul 27 19:42 ../
-rw-r--r-- 1 shell shell 35551 Oct 7 2014 colors background.PNG
-rwxr-xr-x 1 shell shell 2534 Apr 9 2015 colors.bat~*
-rw-r--r-- 1 shell shell 31047 Oct 7 2014 colors.PNG
-rwxr-xr-x 1 shell shell 2475 Apr 9 2015 colors.sh*
-rwxr-xr-x 1 shell shell 2475 Apr 9 2015 colors.sh~*
-rw-r--r-- 1 shell shell 1142 Aug 22 2013 Command Prompt.lnk
-rw-r--r-- 1 shell shell 84 Nov 21 2014 desktop.ini
-rwxr-xr-x 1 shell shell 92 Nov 21 2014 hello.bat*
-rw-r--r-- 1 shell shell 3755 Oct 16 2014 netstat.PNG
-rw-r--r-- 1 shell shell 1158 Aug 22 2013 Notepad.lnk
-rw-r--r-- 1 shell shell 970 Nov 18 2014 NSIS.lnk
-rwxr-xr-x 1 shell shell 504 Nov 21 2014 rainbow.bat*
-rwxr-xr-x 1 shell shell 31 Nov 21 2014 random.bat*
-rwxr-xr-x 1 shell shell 561 Oct 7 2014 spanish.bat*
-rw-r--r-- 1 shell shell 687 Oct 6 2014 text to speech.vbs
-rwxr-xr-x 1 shell shell 50 Oct 12 2014 timer.bat*
-rw-r--r-- 1 shell shell 2060 Feb 13 2013 Turbo C++.lnk
-rw-r--r-- 1 shell shell 182 Sep 23 2014 welcome dif.vbs
-rw-r--r-- 1 shell shell 2472 Sep 22 2014 welcome - Shortcut.lnk
shell@shell:~/Desktop/notepad$ chmod +x colors.sh
shell@shell:~/Desktop/notepad$ ./colors.sh
bash: ./colors.sh: /bin/sh^M: bad interpreter: No such file or directory
答案 0 :(得分:2)
错误消息中的^M
告诉所有人:您的文本文件已存储为' DOS'文本格式,即CR + LF行结尾。 U * x解释器单独使用LF(^J
)字符作为行终止符,因此多余的CR(^M
)字符被附加到/bin/sh
shell声明,从而使其无效。
使用Unix / Linux行结尾(LF)保存文件,或在使用前将其转换为dos-to-unix转换器。