windows编写的脚本拷贝到linux执行报错 $'\r'
指尖二进制 • 1 年前 • 1240 次点击 • BASH
问题:
ljs_wh39.sh: line 2: $'\r': command not found
原因:
是 Windows 和 Linux 的 .sh 脚本文件格式不同,如果在脚本中有空行,脚本是在 Windows 下进行编辑之后上传到 linux 上去执行的话,就会出现这个问题。
windows 下的换行符是\r\n,而 linux 下的换行符是\n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。
解决:任意一种方法
vim ljs_wh39.sh
:set ff=unix
:wq
sed -i "s/\r//" ljs_wh39.sh