shell 腳本執(zhí)行,出現(xiàn)錯(cuò)誤bad interpreter: No such file or directory
出現(xiàn)bad interpreter:No such file or directory的原因
是文件格式的問(wèn)題。這個(gè)文件是在Windows下編寫的。換行的方式與Unix不一樣,但是在VI下面如果不Set一下又完全看不出來(lái)。
解決方法:
1、上傳到linux主機(jī)運(yùn)行
chmod +x back
./back
錯(cuò)誤提示如下:
bash: ./back : bad interpreter:No such file or directory
2、錯(cuò)誤分析:
因?yàn)椴僮飨到y(tǒng)是windows,在windows下編輯的腳本,所以有可能有不可見字符。
從你的腳本及報(bào)告的錯(cuò)誤看來(lái), 很有可能是你的腳本文件是DOS格式的, 即每一行的行尾以\r\n來(lái)標(biāo)識(shí), 其ASCII碼分別是0x0D, 0x0A.
可以有很多種辦法看這個(gè)文件是DOS格式的還是UNIX格式的, 還是MAC格式的
(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字樣. 如果的確是dos格式的, 那么你可以用set ff=unix把它強(qiáng)制為unix格式的, 然后存盤退出. 再運(yùn)行一遍看.
**********************************************************************
轉(zhuǎn)換不同平臺(tái)的文本文件格式可以用
1. unix2dos或dos2unix這兩個(gè)小程序來(lái)做. 很簡(jiǎn)單. 在djgpp中這兩個(gè)程序的名字叫dtou和utod, u代表unix, d代表dos
2. 也可以用sed 這樣的工具來(lái)做:
sed 's/^M//' filename > tmp_filename
mv -f tmp_filename filename
來(lái)做
特別說(shuō)明:^M并不是按鍵shift + 6產(chǎn)生的^和字母M, 它是一個(gè)字符, 其ASCII是0x0D, 生成它的辦法是先按CTRL+V, 然后再回車(或CTRL+M)
另外, 當(dāng)SHELL程序報(bào)告command not found時(shí), 總是去檢查一下你的PATH里面有沒(méi)有程序要用到的每一個(gè)命令(沒(méi)指定絕對(duì)路徑的那種). 你這么小的程序, 可以一行一行核對(duì)
@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);posted on 2011-09-28 14:49 tobyxiong 閱讀(780) 評(píng)論(0) 編輯 收藏 所屬分類: linix