坑系列:一、ssh登录目标服务器,环境变量传播问题
前言
近期在一家银行里面做CI/CD,由于各种原因,大部分逻辑都是通过shell脚本实现的。说实话,对shell脚本我并不是很熟悉,之前也就停留在cd、ls、vi的层面,所以不可避免地就踩到了不少大大小小的坑。现在这个项目基本快阶段性地结束了,准备梳理一下之前踩过的一些坑。然后我准备把这个做成一个系列,记录我过去以及将来的“坎坷之路”!
一、问题背景
在整个整个CI/CD的最后环节:将增量包部署到weblogic服务器之后,调用远程服务器的脚本重启weblogic服务器时,出现问题:启动时语言环境变量LANG不对。该weblogic服务器要求在LANG=zh_CN.UTF-8的环境下启动,在启动的过程中却发现是在英文环境下启动的。但是,如果通过终端直接登录远程服务器,执行weblogic服务启动脚本,一切正常!
理一下:
1、weblogic服务器A,A上有一个weblogic服务启动脚本Shell1
2、本地虚拟机B,B上一个脚本Shell2,Shell2通过Remote SSH的方式调用Shell1
现状:
1、通过终端登录A,执行Shell1,weblogic正常启动,LANG变量正常;
2、登录B,执行Shell2,weblogic服务启动异常,LANG变量错误。
当时是百思不得其解的,因为我在此之前已经成功部署并重启了几十台服务器了,用的都是同样的模式,而且