0

我正在尝试将一个文件夹添加到 linux 中的 PATH 中。我想通过脚本自动化它。这是我写的脚本:

#!/bin/sh
echo "Setting PATH..."
echo "export PATH=$PATH:/opt/mysoftware/scripts/client" >> ~/.bashrc
. ~/.bashrc

即使在执行脚本之后,PATH 也没有得到更新。但我可以看到 bashrc 文件已更新。

当我注销并登录时,PATH 会更新。

可能是什么问题?

4

2 回答 2

1

您正在子 shell 中运行脚本。尝试采购它:

source script.sh
于 2012-08-07T10:43:38.330 回答
0

如果您希望在 .bashrc 中使用此脚本,请删除该脚本。你现在完成了。;-)

另一种方法是将它放在一个函数中。我曾经有两个功能, use()forget()在我的 ksh 环境中正是这样做的。

use /opt/python将相当于PATH=/opt/python/bin:$PATH, 一次。第二次运行将无济于事。Evenuse python会在几个位置查找 /{usr,opt}/python/{bin,sbin} 并将第一个匹配项插入 PATH。

相反, forget python/opt/python/bin:再次从 PATH 中删除。

于 2012-08-07T10:50:46.927 回答