1. 程式人生 > >bash檔案無法執行,提示沒有那個檔案或目錄的解決方法

bash檔案無法執行,提示沒有那個檔案或目錄的解決方法

現在在做Broadcom的BCM2157平臺,發給我們的平臺原始碼包裡只提供了一個patch,需要先從網上下載指定的Android原始碼,給的文件裡下載原始碼的部分所用的命令很多都不能使用了,不知道為什麼。按照常規的辦法下載裡指定的版本,在執行shell檔案打patch時結果報如下錯誤:

 [email protected]:~/work$/bin/bash^M:損壞的直譯器: 沒有那個檔案或目錄

在網上查詢得到如下資訊:

有時候編寫指令碼時會出現類似標題列出的錯誤,這個問題大多數是因為你的指令碼檔案在windows下編輯過。windows下,每一行的結尾是\n\r,而 在linux下檔案的結尾是\n,那麼你在windows下編輯過的檔案在linux下開啟看的時候每一行的結尾就會多出來一個字元\r,用cat -A 

filename時你可以看到這個\r字元被顯示為^M,這時候只需要刪除這個字元就可以了。可以使用命令sed -i 's/\r$//' filename 。

看來發給我們的這個.sh檔案在windows下編譯過。執行如下命令OK了:

[email protected]:~/work$ sed -i 's/\r$//' apply_brcm_patch.sh