程序是在一個(gè)網(wǎng)站上看到的,我保存下來(lái),大致修改了一下。
上傳到linux主機(jī)運(yùn)行
chmod +x back
./back
錯(cuò)誤提示如下:
bash: ./back : bad interpreter:No such file or directory
錯(cuò)誤分析:
因?yàn)椴僮飨到y(tǒng)是windows,我在windows下編輯的腳本,所以有可能有不可見(jiàn)字符。
從你的腳本及報(bào)告的錯(cuò)誤看來(lái), 很有可能是你的腳本文件是DOS格式的, 即每一行的行尾以 來(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格式的, 然后存盤(pán)退出. 再運(yùn)行一遍看.
(2). 用joe filename
如果是DOS格式的, 那么行尾會(huì)有很多綠色的^M字樣出現(xiàn). 你也可以用上述辦法把它轉(zhuǎn)為UNIX格式的.
(3). 用od -t x1 filename
如果你看到有0d 0a 這樣的字符, 那么它是dos格式的, 如果只有0a而沒(méi)有0d, 那么它是UNIX格式的, 同樣可以用上述方法把它轉(zhuǎn)為UNIX格式的.
轉(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, 然后再回車(chē)(或CTRL+M)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
