web-dev-qa-db-ja.com

.bashrcのエクスポートPATH行は何をしますか?

私はLinuxにはあまり興味がなく、チュートリアルを読んでいると次の疑問があります。

bashrcファイルを変更する必要があります。このファイルにはどのような設定が含まれていますか? bashシェル環境に関連する何かがあると思いますが、それについてはよくわかりません。

この行を挿入する必要があります。

export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH

この行は正確には何ですか?

exportステートメントは、他のプログラムで使用できるようにする新しい変数を作成するために使用されると思います。

しかし、この行は正確には何ですか? PATHは、定義している変数の名前ですか? $HOMEとは何ですか?

前の式の:PATH=$HOME/.local/bin$HOME/.local/usr/binセクションの間にある$PATH記号はどういう意味ですか?

この表現はどういう意味ですか?

9
AndreaNobili

この質問に記載されているすべてを要約すると、

export部分

export行は、宣言した変数が子プロセスにアクセスできることを意味します。つまり、プロセスはexportキーワードの後に​​宣言された変数にシェルの環境を介してアクセスできます。したがって、export FOO="BAR"のようなことをしてからシェル環境で変更をソースした場合、$FOOと入力してBARを取得できます。

PATH部分

パス行は、あなたが述べたとおりです:シェル環境用にPATHという名前の変数を宣言しています。 bash環境では、PATHには、コンピューターがプログラムを探す場所を定義するという特別な目的があります。これにより、完全なディレクトリを入力せずに、スクリプト用のカスタムコマンドを入力できます。 デフォルトではPATHがエクスポート用にマークされているため、この行を書き換える必要はありません。ただし、問題ありません。

PATH変数の$HOME

PATH変数に割り当てられているパスの先頭で、$HOMEが宣言されています。これは、コンピューターがHOMEに格納されている値をほとんど取得し、それを読み取るときに行の残りの前にコピーアンドペーストすることを意味します。

両方のパスの間にある:

:は、文のコンマに相当します。 3つのディレクトリを分離するだけです。これらの3つのディレクトリがないと、コンソールは受信したコマンドを認識しません。これらの3つの場所は、スクリプト/コマンドファイルの保存に最も一般的に使用される3つのディレクトリであり、したがって、ファイルへのフルパスを書き出すことなく端末からアクセスできる必要があります。

16
Owen Hines

PATH変数は、bashに実行可能プログラムを探す場所を知らせるので、$HOME/.local/binにスクリプトまたは他の実行可能ファイルがある場合、PATHを変更すると、そのファイルを入力して実行できますlsまたはdfで行うように。

exportは、そのPATH変数を、bashから実行する他のプログラムでも使用できるようにすることのみを意味します。

:に関しては、各ディレクトリの単なるセパレータです。単語リストのカンマと同じですが、それ以上のものはありません。

5