我刚下载了一个软件杰化学,一个允许我创建、管理和分析化学结构的工具。我运行安装程序.sh
脚本并安装指南建议添加bin
该jchemsuite
目录的子目录,以便PATH
能够从任何目录运行 JChem 应用程序。
我阅读了一个相关问题如何将给bin
定目录的子目录的所有子目录包含在$PATH
:
for d in /opt/*/bin; do PATH="$PATH:$d"; done
我也读过有关 stow 的内容,但我从未使用过它,而且我不知道从 GNU 网站获取哪个版本。
但就我而言,/Download
这可能是一个安全问题。
因此,我怎样才能听从他们的建议呢?
如何将特定目录的 bin 子目录添加到 PATH 以便能够从任何目录运行软件应用程序。
答案1
既然你提到了 GNU stow
...
使用 GNU stow
,您可以将jchemsuite
目录移动到类似的地方
$HOME/local/stow
(这样您就拥有了$HOME/local/stow/jchemsuite
)。
然后:
cd "$HOME/local/stow"
stow -v jchemsuite
然后通过编辑 shell 的启动文件来确保它$HOME/local/bin
在你的文件中(通常或者如果你在 Linux 上):PATH
~/.bash_profile
~/.bashrc
PATH="$PATH:$HOME/local/bin"
在下一个新的 shell 会话中,您将能够使用 JChem 二进制文件,而无需指定它们的完整路径。
要卸载并删除 JChem 的二进制文件:
cd "$HOME/local/stow"
stow -Dv jchemsuite
rm -rf jchemsuite
这假设 JChem 实际上允许您移动jchemsuite
目录(它可能通过代码内部某处的原始路径引用它)。如果没有,只需设置PATH
为
PATH="$PATH:/path/to/JChem/jchemsuite/bin"
我认为他们是这样的预计人们要做的事。
答案2
假设您使用的是 bash,如果使用其他 shell,请指定,我将更新我的示例。
打开您的.bashrc
文件(应位于您的主文件夹中,即/home/youruser
)
例如emacs ~/.bashrc
然后转到最后一行并添加以下内容:
export PATH=/path/to/bin:/another/path/to/bin:$PATH
这样你就可以将PATH
任何你想要的内容添加到环境变量中,并且你将保留系统中默认的内容。
请注意,要应用更改,您需要注销然后重新登录(环境变量在登录时定义,因为文件.bashrc
在登录时“执行”)。
如果您想查看 处定义的内容PATH
,只需执行echo $PATH