原因:腳本文件是在Windows環境下編輯的,windows環境下,每一行的結尾是\n\r,而Linux環境下,每一行結尾是\n。使用cat -A filename 可以看到每行的結尾后面多出了一個^M,如圖 ^M符號則是每一行多出來的\r的顯示 ...
在Windows 系統下編輯了一個發送消息到企業微信的shell腳本文件,然后copy到了遠程的Linux服務器,當運行的時候報錯了。如下所示: 錯誤原因: 這個文件在Windows 下編輯過,在Windows下每一行結尾是 n r,而Linux下則是 n,所以才會有 多出來的 r。 使用指令sed i s r xxxxxxx.sh,上面的指令會把 xxxxxxx.sh 中的 r 替換成空白 例子 ...
2022-03-29 14:22 0 1469 推薦指數:
原因:腳本文件是在Windows環境下編輯的,windows環境下,每一行的結尾是\n\r,而Linux環境下,每一行結尾是\n。使用cat -A filename 可以看到每行的結尾后面多出了一個^M,如圖 ^M符號則是每一行多出來的\r的顯示 ...
原因:腳本文件是在Windows環境下編輯的,windows環境下,每一行的結尾是\n\r,而Linux環境下,每一行結尾是\n。使用cat -A filename 可以看到每行的結尾后面多出了一個^M,如圖 ^M符號則是每一行多出來的\r的顯示 ...
今天部署一個springboot項目到centos系統下,自己在Windows寫的啟動腳本,執行過程中出現/bin/bash^M: 壞的解釋器:沒有那個文件或目錄錯誤,無法正常運行。 按照以往的經驗分析是因為在Windows環境下的換行符在Linux下是無法被識別的,出現一個^M符號。然后vi ...
這個問題一般是windows編輯shell文件后,拷貝到Linux發生的錯誤。 原因是在Windows下每一行結尾是\n\r,而Linux下則是\n,所以才會有 多出來的\r 解決方案 執行命令修復,把xxx替換成真實的文件名即可 ...
百度解釋說是因為這個文件在windows下編輯過,windows下每一行的結尾是\n\r, 而linux下每一行結尾是\n,所以只需要刪除這個文件中的\r字符就可以了sed -i 's/\r$//' install.sh ...
.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄 這是因為shell腳本是Windows下編輯的 格式不一樣 執行 ...
1、linux執行腳本,出現這個錯誤,一度把我逼瘋了,首先要確保自己的腳本每一行都可以正常執行的,千萬別因為自己的腳本問題導致的找不到文件或者目錄(我都遇到過),這樣找問題,能找到你哭的哦。 出現問題場景:執行xxx.sh腳本時,報錯 "xxx.sh /bin/bash^M: 壞的解釋器 ...
執行shell腳本是報錯:/bin/bash^M: 壞的解釋器: 沒有那個文件或目錄 是因為該文件在windows系統上打開過,關閉后其中的空格符號和Linux的不同,導致這個報錯,我們可以通過sed命令與正則的配合將文件中的空格符號替換成linux的空格: ...