Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题

Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题

编写一个expect脚本实现发布物上传到svn的功能比较简单,可能需要注意一点就是增加文件替换功能,其核心步骤有4步:

bash 复制代码
#从SVN指定路径下载内容
spawn svn co "$svndir"
#先删除掉已经存在的内容
svn delete $file 
#再加入新的文件
svn add --no-ignore --force $file
#最后提交
spawn svn ci -m "$msg"

但关键问题在于,脚本在mac上调试的好好的,放到jenkins的shell中执行就卡住,百思不得其解。

最后偶然间发现,jenkins中调用expect脚本,控制台输出是这样的:

spawn svn co http://192.168.x.x/V1.2.4/iOS/Build01 认证领域:
http://192.168.x.x:80 Subversion repository

但是在mac上调试脚本的时候,输出是这样的:

spawn svn co http://192.168.x.x/V1.2.4/iOS/Build01 Authentication

realm: http://192.168.x.x:80 Subversion repository

才意识到,这可能是个字符集的问题,分别在jenkins的shell中打印$LANG

输出为zh_CN.UTF-8, 而mac上shell打印该变量,输出结果为en_US.UTF-8。

至此,确定这是个字符集问题。

解决办法就比较简单了,在shell中执行的时候将字符集统一为调试脚本的字符集即可,问题解决,记之。

相关推荐
新时代牛马36 分钟前
Linux 磁盘管理:分区、文件系统、挂载与扩容
linux·运维·服务器
大树881 小时前
液冷系统的真正瓶颈,藏在那层不到1毫米的材料里
大数据·运维·服务器·人工智能·ai
yindeshuiketang2 小时前
企业FDE架构方法论到实战指南从想法到商业变现:需求·设计·技术·测试·运维·交付·变现-小红书&抖音 AI马教授 职场启航宝
运维·人工智能·架构
网硕互联的小客服2 小时前
没有公网IP,如何让外网访问内网服务器?
运维·服务器
布裘2 小时前
【银河麒麟】服务器系统开机黑屏故障排查与修复
linux·运维·服务器·银河麒麟·无法启动
凌风的跨境分享2 小时前
Temu店群运维提效:定时策略自动化任务全场景实操指南
大数据·运维·前端·人工智能·架构·自动化
Zenova EdgeOS2 小时前
Linux iotop:工业边缘 I/O 高级分析实战
linux·运维·服务器
Black蜡笔小新2 小时前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
又見山2 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能
Elastic 中国社区官方博客2 小时前
Elasticsearch 向量数据库:几分钟内完成部署,以经济高效的方式扩展至数千亿规模
大数据·运维·数据库·elasticsearch·搜索引擎·ai·全文检索