问题:
执行shell脚本文件,报错:shellText.sh: line 16: $'\r': command not found
查看脚本文件第16行,发现是空行;
原因:
window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。
解决方法
方法一:使用notepad转换
在右下角的windows(CR LF),点击右键,选择转为Unix(LF)
方法二:使用vscode转换
点击右下角的CRLF,选择LF即可;
方法三:使用vim转换
使用vim打开xxx.sh
vim xxx.sh
直接输入“:set ff”,不用进编辑模式;
如果输出“fileformat=dos”,说明文本格式是windows下的;
直接输入“:set ff = unix” 即可。
shell代码:
shell错误执行:
修改后执行: