Linux下運行shell腳本,報錯“/bin/bash^M: bad interpreter: No such file or directory”

問題描述:

問題出現(xiàn)操作過程:

1. 使用TortoiseGit從github上clone一個工程,工程中存在一個shell腳本。

2. 將shell腳本使用sftp上傳至Linux服務(wù)器。

3. 執(zhí)行shell腳本,報錯"/bin/bash^M: bad interpreter: No such file or directory"。

問題原因

TortoiseGit安裝后默認(rèn)Git設(shè)置為自動轉(zhuǎn)換文件格式,它會直接將文件Unix格式轉(zhuǎn)成Windows下的dos格式,字段為:AutoCrlf,如圖1所示:

圖1. TortoiseGit Git默認(rèn)設(shè)置自動轉(zhuǎn)換文件格式

解決辦法

將TortoiseGit 工具上該字段值關(guān)閉,修改autocrlf=false即可解決,方法如圖2、圖3所示:

圖2.?TortoiseGit修改演示
圖3. autocrlf修改演示

附:Linux上修改文件格式方法

首先你先要檢查一下看看你的腳本文件是不是這個問題導(dǎo)致的,用vi命令打開要檢查的腳本文件,然后用

:set ff?

命令檢查一下,看看是不是dos字樣,如果是dos格式的,繼續(xù)執(zhí)行

:set ff=unix

然后執(zhí)行

:qw

保存退出即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容