.bashrcのこのPATH文は何をしますか? [コピー]

.bashrcのこのPATH文は何をしますか? [コピー]

OpenMPIのインストールが完了し、プロセスが終了したら、次のように要求しました。

Then openmpi is installed at the directory indicated by prefix. Next,
add the following two lines to your ./bashrc file, which is located
at your home directory.

PATH=$PATH:/usr/local/openmpi-3.0.0/bin export PATH

When you open the terminal window next time, you can use openmpi. Make it sure by typing

$which mpirun

私は何をすべきですか?このステップが必要なのはなぜですか?

答え1

PATHは、インストール場所へのフルパスを提供せずにシェルでコマンドを実行するシェル変数です。現在のコマンドパスを確認するには、シェルで次のコマンドを実行します。

# echo $PATH

別のパス /usr/local/openmpi-3.0.0/bin にソフトウェアをインストールし、openmpi の完全なコマンドパスは /usr/local/openmpi-3.0.0/bin/openmpi です。

したがって、/usr/local/openmpi-3.0.0/bin フォルダを PATH 変数に追加すると、単にコマンドを 。

# openmpi

それ以外の場合は実行する必要があります。

# /usr/local/openmpi-3.0.0/bin/openmpi

答え2

いくつか:まず、コメントの作成者@Artem S. Tashkinovが言ったように、export PATHこれは別のコマンドなので、改行が必要です(一部のシェルでは)。PATH環境変数としてnewを設定します。環境変数は、プログラムだけでなく、環境全体で使用される変数(動的値)です。単純化して環境=シェルだと思います(修正してくれたilkkachuに感謝します)。

第二に、あなたの質問に直接答えるために実行可能$PATHファイル(プログラム)の場所を保存する環境変数があります。端末に入力したら、シェルがその存在を知って実行できるように追加/usr/local/openmpi-3.0.0/binするだけです。コロンの前の部分はすでに内容です。コロンは、「前の内容に次の内容を追加します」を意味します。$PATHmpirun/usr/local/openmpi-3.0.0/bin$PATH/usr/local/openmpi-3.0.0/bin

なぜUSDが必要なのでしょうか?簡単な答えは、シェルが$で定義された変数を参照することです。たとえば、次のように実行すると:

NAME='BOB'

echo $NAME

シェルは印刷しBOB

echo NAME

シェルが印刷されるようにしますNAME

最後に、実行可能ファイルのホームディレクトリを追加する代わりに変更したくありません。$PATHそうしないと、システムは他のプログラムがどこにあるかを知ることができません。

関連情報