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 替換成空白!打包