为 Unix“which”命令设置“$PATH”环境

为 Unix“which”命令设置“$PATH”环境

我正在尝试同时运行两个化学程序,需要更改 PATH 环境才能找到彼此。手册上说:

在 UNIX 操作系统下,RED 使用“which”UNIX 命令查找“GAMESS”、“Gaussian”和“RESP”二进制文件和脚本。因此,应更新“$PATH”环境变量。

感兴趣的二进制文件和文件是gamess.0n.xrungmsddikick.x,并且都位于中/home/david/Bin/red/RED-III.52-Tools-Files。根据在其他线程部分找到的建议,我做了以下事情:

  1. 使用以下命令打开 .bashrcgedit ~/.bashrc
  2. 添加了行PATH=$PATH:/home/david/Bin/red/RED-III.52-Tools-Files
  3. 运行软件

我将在下面列出该程序的输出,它表明“which”命令无法找到二进制文件。任何建议都将不胜感激!

                 * Software checking *
gamess.0n.x  (n = 0->9)                 [ NOT FOUND ]
rungms                                  [ NOT FOUND ]
ddikick.x                               [ NOT FOUND ]
resp                                    [ NOT FOUND ]
ERROR: Some program(s) cannot be executed

需要注意的是,我在该程序的论坛上发现了类似的问题(唯一的区别是他们使用的是 gaussian 而不是 gamess),但我对 PATH 和“which”函数的理解非常浅显,因此很难理解。希望这个例子能有所帮助。

我收到以下错误。有人能帮忙吗?

* Software checking * 
gaussian [ NOT FOUND ] 
resp [ NOT FOUND ] 

如果您使用 bash shell,则需要设置 .bashrc 文件;如果您使用 tcsh/csh,则需要设置 .cshrc 文件。

这是我的.cshrc 的一部分:

------------------------------------------ 
setenv SOFT /usr/local 
setenv AMBERHOME /usr/local/amber10 
setenv GAMESS_SCR /Big-disk/0QM_SCR 
setenv GAUSS_SCRDIR /Big-disk/0QM_SCR 
setenv g03root /usr/local 
source /usr/local/g03/bsd/g03.login 
set path = ($path $AMBERHOME/exe $SOFT/g03 $SOFT/gamess $SOFT/firefly)  
------------------------------------------

如果我使用“which”UNIX 命令,我会得到:

[fyd_at_lynx ~]$ which g03 
/usr/local/g03/g03 
[fyd_at_lynx ~]$ which resp 
/usr/local/amber8/exe/resp

答案1

路径不正确。/home/david/Bin/red/RED-III.52-Tools-Files是正在寻找 GAMESS 的 RED ESP 程序的来源。

相反,将添加PATH=$PATH:/home/david/Bin/gamess到您的 bashrc 中。添加到您的 bashrc 文件中的路径实际上是在告诉程序在哪里找到自己。

相关内容