gpt4 book ai didi

bash - 使环境变量可用于脚本的万无一失的方法是什么?

转载 作者:行者123 更新时间:2023-12-04 18:59:13 25 4
gpt4 key购买 nike

我在一个 Ubuntu VM 上有这个脚本,它使用在 /etc/profile.d/appsetup.sh 中的脚本中设置的环境变量。 .
该变量在我的脚本中使用,server-up.sh ,启动我的 Java 应用程序:

export path=$KEYSTORE_PATH
java -jar -Dsecurity.keystore.path=$path [jarfile]
如果我回显变量,它会起作用:
$ echo $KEYSTORE_PATH
/etc/ssl/certs
如果我自己运行脚本( sudo sh server-up.sh ),它运行并使用环境变量就好了。
但是,当脚本从 Jenkins 的“执行 Shell”步骤(在同一个 VM 上)执行时,它显然无法访问环境变量,即使据说它在系统范围内可用。
我尝试设置 server-up.sh 的所有者两个 rootjenkins Jenkins 以任何一种方式运行它,但在这两种情况下它都没有获得环境变量。在 Jenkins 中,我也尝试使用命令 sudo -E /[path]/server-up.sh但随后作业失败并显示错误 sudo:对不起,你不能保护环境 .
我已经用谷歌搜索了十几次,但几乎所有出现的都是人们询问如何在 Jenkins 中设置环境变量,而我不需要这样做;我只想要一个 Jenkins 可以执行的脚本来访问系统环境变量。
我需要做什么才能使它正常工作?

最佳答案

做一个小改动以允许 /etc/profile.d/appsetup.sh脚本将变量输出到文件,Jenkins 作业可以在其中访问此变量以创建可用于您的作业成功运行的环境变量。

关于bash - 使环境变量可用于脚本的万无一失的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68731769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com