animaコマンドを使用すると、.bashrcに問題があります。

animaコマンドを使用すると、.bashrcに問題があります。

毎回フルパスを書かずに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

この問題をどのように解決できますか? (初心者なので、これらの2つが互いに関連しているかどうかはわかりません。)

より多くの情報を提供するために、次のコマンドを実行しました。

$ 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(およびその他)シェルには2つのカテゴリがあります。ログインおよび非ログインシェル。 2つの主な違いは、シェルの起動時にどのファイルを読み取るかです。詳細については上記のリンクを参照してください。ほとんどの* nixシステムとは異なり、macOSはデフォルトではログインシェルを起動します。。これがすぐの出力で見ることができる理由です-bashbashps -p $$

ログインシェルはを読み取らず~/.bashrc~/.bash_profile(存在する場合)または他の~/.profileファイル(そしていくつかの異なるファイル、上記の最初のリンクですべて説明)を読みます。したがって、~/.bashrc実行中のシェルはログインシェルであるため、変更は無視されます。

したがって~/.bashrc、存在する場合は変更するのではなく、存在しない~/.bash_profile場合は修正する必要があります~/.profile。行は正確ですが、間違ったファイルを編集しました。

関連情報