运行Shell文件.sh报错syntax error near unexpected token `$'do\r''

问题

运行 sh start.sh,出现报错

start.sh: line 17: syntax error near unexpected token `$'do\r''
'tart.sh: line 17: `	do

原因

运行cat -v start.sh,如果内容结尾为是^M,这是因为你所处理的文件换行符是dos格式的"\r\n",你可能在windows下编辑过内容

cat -v start.sh

解决

方法一:运行sed ‘s/\r//g’ start.sh > start2.sh,需要重新命名

sed 's/\r//g' start.sh > start2.sh

方法二:每行都使用分号结尾
方法三:如果使用IDEA编辑,可以在编辑器底部,把CRFT改成LF,在编辑下内容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章