2018.09
12
jenkins传递参数给shell
查看jenkins参数
http://jenkins服务器/env-vars.html/
jenkins上配置
export BUILD=${BUILD_NUMBER}
sh +x /opt/script/remotestop.sh
这里用sh 不要用sudo
export只是将参数传递给当前用户
———故障排除1
使用key 会进入 api-001 ~]$ 模式
这样执行脚本,部份命令会没权限。所以需要进脚本进行对应修改
对需要权限的命令 前面加sudo
但是这样,sudo 后 传的参数又没用了,因为使用sudo 会重置当前变量
解决
解决
1、sudo -E
-E选项在man page中的解释是:
-E
The -E (preserve environment) option indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the -E option is specified and the user does not have permission to preserve the environment.
简单来说,就是加上-E选项后,用户可以在sudo执行时保留当前用户已存在的环境变量,不会被sudo重置,另外,如果用户对于指定的环境变量没有权限,则会报错。
$ sudo -E bash test.sh # 加上-E参数后就可以获取到变量
Aaa
文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文标题:jenkins传递参数给shell
本文链接:http://www.jdccie.com/?p=3919转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
上篇文章:jenkins传递参数给shell
下篇文章:Linux之Shell的算术运算
暂时还木有人评论,坐等沙发!