我正在使用Publish over SSH Plugin并且无法弄清楚如何在运行其他脚本之前使用远程脚本来更新我的PATH
?
当然,我只能运行一个脚本,我可以在其中找到我想要的任何内容,但我无法获取导出变量的第一个脚本,并从另一个脚本中访问这些变量。
示例:我有3个脚本changePath.sh
,runChangingPath.sh
,runAfterChangingPath.sh
changePath.sh
export PATH=xxx:$PATH
runChangingPath.sh
echo "PATH 1: "$PATH
. ./changePath.sh
echo "PATH 2:"$PATH
runAfterChangingPath.sh
echo "PATH 3: "$PATH
当我使用Publisher执行以下操作时:
./runChangingPath.sh
它在“PATH 1”标签之后回显原始路径(比如/usr/bin
),然后在“PATH 2”标签之后回显xxx:/usr/bin
。它正如我所期待的那样回应。
但是当我用Publisher执行以下内容时:
./changePath.sh
./runAfterChangingPath.sh
我期待以下内容:PATH 3: xxx:/usr/bin
,但目前的结果是PATH 3: /usr/bin
。
我只是不明白为什么在脚本changePath.sh
中导出的变量PATH在调用shell时不会持久存在。
PS:如果我直接用ssh
运行完全相同的东西,那么所有结果都是我期待的结果。所以我似乎真的只与“SSH Publisher插件”有关。