我正在尝试将一个文件夹添加到 linux 中的 PATH 中。我想通过脚本自动化它。这是我写的脚本:
#!/bin/sh
echo "Setting PATH..."
echo "export PATH=$PATH:/opt/mysoftware/scripts/client" >> ~/.bashrc
. ~/.bashrc
即使在执行脚本之后,PATH 也没有得到更新。但我可以看到 bashrc 文件已更新。
当我注销并登录时,PATH 会更新。
可能是什么问题?
您正在子 shell 中运行脚本。尝试采购它:
source script.sh
如果您希望在 .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 中删除。