在window环境下编辑的shell脚本放在linux上运行报错。
问题是在Windows下换行的“\r”到了Linux环境下不能够识别了。
因为Linux环境下默认的换行符为“\n”。
这里就需要做一点修改转换的工作。
方法一、
sed -i 's/\r//' 脚本名 #转化为unix格式
记录一个报错:
sed -i 's/\r//' ./test.sh
char 7: unknown option to `s'
原因:
因为路径里面包含有“/”作为分隔符,这会和sed的替换操作的分隔符“/”引起混淆;
所以,只要不使用“/”做分隔符就可以解决这个问题。
sed -i 's/\r//' test.sh
方法二、
1.安装转换工具 yum -y install dos2unix
2.转换格式 dos2unix 脚本名
3.赋予权限 chmod 755 脚本名
4.执行脚本 ./脚本名
联系客服