![当我使用 anima 命令时 .bashrc 出现问题](https://linux22.com/image/202419/%E5%BD%93%E6%88%91%E4%BD%BF%E7%94%A8%20anima%20%E5%91%BD%E4%BB%A4%E6%97%B6%20.bashrc%20%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我需要使用 Anima 命令,而不必每次都写入整个路径。
我无法在 Anima 命令所在文件夹以外的文件夹中的内部文件上使用 animaConvertImage。我在配备 M1 处理器的 Mac 上使用 macOS。我尝试使用 .bashrc 文件,但无济于事,具体来说:
~/.bashrc
-我通过以下方式将以下行添加到文件中:
gedit ~/.bashrc &
并补充道:
ANIMAHOME=~/Software/Anima/build
export PATH=$ANIMAHOME/bin:$PATH
export LD_LIBRARY_PATH=$ANIMAHOME/lib:$LD_LIBRARY_PATH
(我按照指南进行了操作,但我不知道它应该如何工作;包含 animaConvertImage 的 Anima 文件位于 . 中/Software/Anima/build/bin
。)
最后,我保存并关闭终端以使更改生效。
然后我使用了命令:
animaConvertImage -i dwi/Noddi_Combined_Tensors_final.nrrd -I
使用 Software 文件夹外部的 dwi 文件夹,我总是得到输出:
-bash: animaConvertImage: command not found
我该如何解决这个问题? (我不确定这两者是否相互关联,因为我是初学者)
为了给您提供更多信息,我运行了以下命令:
$ ls -l ~/Software/Anima/build/bin/animaConvertImage
-rwxr-xr-x 1 lorenzomarta staff 3807134 14 Feb 16:07 /Users/lorenzomarta/Software/Anima/build/bin/animaConvertImage
和
$ ps -p $$
PID TTY TIME CMD
3889 ttys000 0:00.08 -bash
答案1
交互式 bash(和其他)shell 有两大类:登录和非登录 shell。两者之间的主要区别在于启动 shell 时读取哪些文件,但请参阅上面的链接了解详细信息。与大多数 *nix 系统不同,macOS将默认启动登录 shell。这就是为什么您在 的输出中看到-bash
而不是.bash
ps -p $$
登录 shell 不会读取~/.bashrc
,而是读取~/.bash_profile
(如果存在)或其他~/.profile
文件(以及其他一些文件,所有这些文件都在上面的第一个链接中进行了解释)。因此,您所做的更改~/.bashrc
将被忽略,因为您正在运行的 shell 是登录 shell。
因此,~/.bashrc
您应该编辑~/.bash_profile
(如果存在),而不是编辑 ,如果不存在,则编辑~/.profile
。这些行是正确的,但您只是编辑了错误的文件。