windows打包腳本出現 /bin/sh^M: 壞的解釋器: 沒有那個文件或目錄 錯誤

1.錯誤描述linux

我在Windows 10 系統下打包dolphinscheduler,上傳到centos7解壓以後,執行腳本報以下錯誤:windows

-bash: ./dolphinscheduler-daemon.sh: /bin/sh^M: 壞的解釋器: 沒有那個文件或目錄centos

^M是什麼東東,爲何會有^Mbash

經過命令 cat -A filename 查看centos7

 

 好像每行都有這個,應該和換行符有關,查了一下確實有關code

2.錯誤緣由blog

這個問題大多數是由於腳本文件在windows下編輯過。在windows下,每一行的結尾是\n\r,而在linux下文件的結尾是\n,那麼你在windows下編輯過的文件在linux下打開看的時候每一行的結尾就會多出來一個字符\r,用cat -A fileName時你能夠看到這個\r字符被顯示爲^M,這時候只須要刪除這個字符就能夠了test

3.解決方式sed

使用指令sed -i 's/\r$//' test.sh,上面的指令會把  test.sh 中的\r 替換成空白!打包

相關文章
相關標籤/搜索