执行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”;
在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM