我尝试编写尽可能简单的bash脚本,如果参数不是$ PATH的一部分,则将一个参数附加到$ PATH环境变量。我知道有其他简单的方法可以通过不使用bash脚本来实现它;但是,我想使用bash脚本。我已经尝试export
,但我没有运气。现在我的简单代码如下所示:
#!/bin/bash
if [[ "$(echo $PATH)" != *"$1"* ]]
then
PATH=$PATH:$1
fi
可是:
$ ./script /home/scripts
$ echo $PATH
(returns unaltered PATH)
答案 0 :(得分:2)
尝试使用src或。:
src ./script /home/scripts
. ./script /home/scripts
这是因为你的脚本在它自己的解释器上运行,并且当脚本死掉时,这个解释器实例(变量$ PATH设置的地方)就会消失。你必须要求你的当前解释器改为运行脚本(那是什么src或。用于)