Shell 脚本参数传递时有 \r 换行符问题

最近用Nodepad++写Shell脚本进行参数动态传递时,发现有时候参数携带了\r换行符,编辑器里也是Shell脚本的语言。本来一看就知道是换行符的问题,偏偏有的脚本不带\r符号,有的又带,真的迷!
在这里插入图片描述

在这里插入图片描述

问题原因:
  • Unix体系里,每行结尾只有"<换行>”,即"\n";
  • Windows体系里面,每行结尾是"<换行><回 车>”,即"\n\r”。

所以当从Windows上把脚本放入Linux上后,会把"\n\r”一起带入


解决方法:

allSyncTask.sh:脚本名称,自定义

1.使用命令:

dos2unix allSyncTask.sh

找不到dos2unix命令时,安装dos2unix

yum install dos2unix
yum install unix2dos

2.去掉"\r“命令:(切记不要使用两个”,不然所有带r字母的都会被替换掉

sed -i "s/\r//" allSyncTask.sh

相关文章


欢迎关注公众号:慌途L
后面会慢慢将文章迁移至公众号,也是方便在没有电脑的情况下可以进行翻阅,更新的话会两边同时更新,大家不用担心!
在这里插入图片描述


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值