Bash脚本将参数附加到$ PATH

时间:2017-03-23 20:13:52

标签: linux bash path environment-variables

我尝试编写尽可能简单的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)

1 个答案:

答案 0 :(得分:2)

尝试使用src或。:

src ./script /home/scripts . ./script /home/scripts

这是因为你的脚本在它自己的解释器上运行,并且当脚本死掉时,这个解释器实例(变量$ PATH设置的地方)就会消失。你必须要求你的当前解释器改为运行脚本(那是什么src或用于)