【实习记】2014-08-26都是回车惹的祸——shell脚本必须是unix行尾

 
 

事情由起:
svn的url在excel里,我复制到txt文本下,vi做些文本处理,只提取了url,保存为url.txt。
再用vi处理url.txt,加上svn checkout等词,变成可以运行的svn.sh。每一行都是
svn checkout .../proj_name/trunk  proj_name/trunk
......

触发动作:
bash svn.sh
shell回显一切正常,似乎没有问题。

有什么问题呢?问题就在与我windows下的'\r'(回车)一直带到svn.sh里了,linux下建的目录都是"trunk\r"。

当时不是这样发现的,最先我用rsync同步到windows虚拟机用ide打开目录后,添加文件,显示trunk?目录,但双击不能进去。
出现这个问题是source insight, 而code::blocks没有问题。

之前也奇怪,为什么
while read line; do echo "mv $fn ${fn%?}"; done < name.txt
显示怪异,现在知道了,$fn带有回车见,输出坐标返回第一列继续输出,所以出现怪异的文章被覆盖异常。
如果最后一个是其他字符,就可以那样去纠正。
for fn in $(find . -name trunk?); do mv $fn ${fn%?}; done;

最后只能删除,然后把svn.sh变成unix行尾,再执行bash svn.sh!

bash确实做得不够好,处理回车键时显得笨。

 

转载于:https://www.cnblogs.com/weishun/p/tencent-shixi-2014-08-26-bash-CR-stupid.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值