/bin/bash^M: bad interpreter: No such file or directory<今天遇到的問(wèn)題, 網(wǎng)上有很多類似的文章, 個(gè)人記錄下來(lái), 加深記憶, 已經(jīng)明白的就繞路吧.> 執(zhí)行一個(gè)腳本full_build.sh 時(shí), 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 開(kāi)始是說(shuō)我權(quán)限不夠, 不能執(zhí)行, 接著我就把權(quán)限給改了, 就一直報(bào)上面問(wèn)題. 記得幾個(gè)月前, 就遇到過(guò)類似的問(wèn)題, 當(dāng)時(shí)是在編譯Android Framework, 后來(lái)打開(kāi)出錯(cuò)的.xml文件, 很直接的看到很多的^M的標(biāo)識(shí), 由于負(fù)責(zé)編譯的同事幫忙解決了, 就沒(méi)有去問(wèn)為什么, 今天再次遇到, 就上網(wǎng)搜了搜, 才明白了原因. 出現(xiàn)上面錯(cuò)誤的原因之一是腳本文件是DOS格式的, 即每一行的行尾以\r\n來(lái)標(biāo)識(shí), 使用vim編輯器打開(kāi)腳本, 運(yùn)行: :set ff? 可以看到DOS或UNIX的字樣. 使用set ff=unix把它強(qiáng)制為unix格式的, 然后存盤(pán)退出, 即可. 網(wǎng)上也有很多的其他方法, 比如: 執(zhí)行dos2unix 命令轉(zhuǎn)換編碼, 命令為: #dos2unix full_build.sh, 但我沒(méi)有dos2unix的安裝包, 所以就跳過(guò)了. 也有說(shuō)造成這種問(wèn)題的原因是在使用vim時(shí)不小心按了個(gè): Ctrl+v, 腳本是我從服務(wù)器上下的, 不清楚到底怎么會(huì)變成了DOS格式的了. 總之解決了就行啦. |
|