admin 管理员组

文章数量: 1184232

在windows下编辑或者打开过的sh脚本,windows的行尾“\n\r”,在unix下行尾“\n”。因此在linux下执行时要把多余的“\r“去掉

确认问题:

cat -A script.sh 报错前每行末尾^M$,linux正常每行末尾是只有一个$

解决方法一:

sudo apt-get install dos2unix

dos2unix script.sh

解决方法二:

有时候文件中含有二进制,使用上边的方法无法转换,可以使用sed除去尾部 \r 导致此错误的字符:

sed -i 's/\r$//' script.sh

本文标签: 性困扰 告别兼容 解决方法