博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再次遇到\r\n转\r问题
阅读量:4585 次
发布时间:2019-06-09

本文共 674 字,大约阅读时间需要 2 分钟。

帮助小伙伴做jenkins的环境搭建。以为5分钟的事情,但是发现了一个诡异的问题。总是提示SVN的url不合法“URL '%s' is not properly URI-encoded”。

由于选择了SSH执行远程脚本的方式(我更倾向于把大部分部署工作写到shell里,包括svn checkout)远程机是linux,而同事的jenkins是搭载在windows上的。于是怀疑是编码问题。由于jenkins上有一堆应用了,没法修改启动jenkins时 jvm使用的语言。因此想改一下shell,将语言改为:LANG="en_US.UTF-8" 问题仍然存在。

在shell里将要checkout的url 打印出来。看不出啥毛病。拷贝一下本地svn指令,运行正常。真是怪了。。。到底为什么呢?觉得仍然是编码有问题,是不是编码不可见呢?想到了这里,我决定把url重定向到文本中。

用vi打开,果不其然,多了一个^M。又是\r\n转\n问题,windows多传过来个\r(ox0d),linux罢工了。祭出tr工具把0d干掉,问题解决了。

version=`echo $1|tr -d "\015"`

当然你也可以用sed干掉它,替换的方式为   sed s/^M//g   filename  当然tr在管道操作的时候更简单一些。

这种问题以前写代码多的时候遇到了n次了,但花了快一个小时才解决,早该第一时间想到的。问题只是以不同的面目多次出现罢了。

 

转载于:https://www.cnblogs.com/skytraveler/p/3973582.html

你可能感兴趣的文章
Oracle没有WM_CONCAT函数的解决办法
查看>>
消息中间件——RabbitMQ(四)命令行与管控台的基本操作!
查看>>
Eclipse 写代码是自动重启服务
查看>>
3.8 spring - AbstractBeanDefinition 介绍
查看>>
如何在Visual Studio里面查看程序的汇编代码?
查看>>
解决IE11只能用管理员身份运行的问题
查看>>
android学习-LocationManager(一)-
查看>>
Linux安装单机solr
查看>>
dos alias/cname address
查看>>
cygwin下用arm-xscale-linux-gnueabi交叉编译libcgi
查看>>
delphi中WMI的使用(网卡是否接入)
查看>>
js弹出遮罩层
查看>>
Linux tar打包命令
查看>>
iOS中的UIView动画
查看>>
解决android textview 混合文字、数字换行后对列不齐
查看>>
Winform PPT切换图片效果
查看>>
ionic调用数据接口(post、解决 payload 问题)
查看>>
奇偶数分离
查看>>
1020 PAT
查看>>
hdu6080(最小环)
查看>>