执行shell脚本报错:$‘\r‘: 未找到命令/未预期的符号 `elif‘ 附近有语法错误

在这里插入图片描述
原因是脚本中是Windows下的换行符:
执行替换即可: sed -i “s%\r%\n%g” 脚本名称
或者同notepad转换一下:edit–>eol conversion–>uinx

但是每次打包都会出现这个问题,通过设置行尾系统解决
在这里插入图片描述

拓展:
回车 \r r的英文return,控制字符为CR,即Carriage Return;
换行 \n n的英文newline,控制字符为LF,即Line Feed;
\n: Unix系统里,每行的结尾是“<换行>”,即“\n”;
控制字符(Control Character)是出现于特定的信息文本中,表示某一控制功能的字符
在这里插入图片描述

\r\n: Windows系统里面,每行的结尾是“<回车><换行>”
在这里插入图片描述

\r: Mac系统里,每行的结尾是“<回车>”,即“\r”;
在这里插入图片描述

posted @ 2021-07-06 20:28  韧小钊  阅读(1316)  评论(0编辑  收藏  举报