我想$PATH
通过安装脚本将目录添加到环境变量中。我编写了一些程序,所有程序都位于一个目录中。他们需要安装许多其他软件包才能运行。所以我还写了一个安装脚本来安装所有依赖项。这一切都很好。但是,我最终需要做的是将目录添加到搜索路径,最好直接通过安装脚本,然后source ~/.profile
如果可能的话从脚本本身执行同样的操作。
所以基本上,我想编写一个脚本,基本上将一个目录永久添加到搜索路径(如果以前不存在)。我可以做“如果不存在的部分”。但是,我没有找到任何有关如何.profile
通过脚本安全添加路径的资源。难道不建议这样做吗?
$PATH
我想我可以尝试删除包含using 的行sed
并将新行附加到.profile
文件中。除非我绝对确定,否则我不想冒着搞砸事情的风险去尝试。
答案1
正如 Bodo 所说,修改现有变量可能太复杂PATH
,因此请保持简单。您可以将代码添加到文件末尾,例如:
echo -e "\n# path added by my personal installer" >> ~/.profile
echo "[ -d /path/to/my/directory ] && PATH=\"/path/to/my/directory:\$PATH\"" >> ~/.profile
和在安装程序末尾输出一条消息,例如“注意:/path/to/my/directory 已自动添加到 ~/.profile 中的 PATH 变量”
或者您将其留给安装用户来添加路径并在安装脚本末尾输出如下消息:
Please add the path to /path/to/my/directory to your ~/.profile or ~/.bashrc
Example snippet:
if [ -d /path/to/my/directory ]; then
PATH="/path/to/my/directory:$PATH"
fi