linux和Windows文件不兼容(shell脚本执行错误 $'\r': command not found)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/niaolianjiulin/article/details/84947411

背景

将linux通过samba服务映射到windows平台,在win平台下建立一个脚本,然后切换到linux下执行,报错$’\r’: command not found。

原因

win平台下的换行是:回车符 + 换行符,也就是\r\n。unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。

解决

(1)在linux上执行$ dos2unix xx.sh,再次执行脚本,报错消失;
(2)在linux下用vim打开,强制保存为unix格式:

vim test.sh
:set ff?
// 显示dos的话
:set ff=unix
:wq

猜你喜欢

转载自blog.csdn.net/niaolianjiulin/article/details/84947411
今日推荐