执行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”;