この記事では、 PATHと呼ばれる重要なLinuxシェル環境変数について説明します。 そして、この変数にディレクトリを追加する方法。
一般に、Linuxシステムで実行するほとんどのプログラムは問題なく動作し、実行時にシェルでエラーが発生することはありません。ただし、Linuxシステムの非標準ディレクトリからカスタムスクリプトまたはプログラムをすばやく実行したい場合があります。
このような場合は、ソースディレクトリをシェルのPATH変数に追加して、シェルがどこにあるかを認識できるようにする必要があります。
PATH環境変数は何に使用されますか?
環境変数は、シェルの動作を制御します。たとえば、Linuxでコマンドラインを使用したことがある場合、システムはPATH変数を使用して、入力しているコマンドの場所を検索します。
PATHは、Linuxに組み込まれている環境変数であり、ユーザーまたはアプリケーションによって発行されたコマンドに応答して実行可能ファイルを検索するディレクトリをシェルに指示します。
入力したコマンドを検索するために使用されるディレクトリのコロンで区切られたリストを保持します。
LinuxでPATHにディレクトリを追加する方法
現在PATHに何があるかを確認するには、ターミナルに次のように入力します:
echo $PATH
ご覧のとおり、この変数のディレクトリはコロン(:
)で区切られています。 )。現在、シェルは次のディレクトリでバイナリ実行可能ファイルを検索します。
-
/usr/local/sbin
-
/usr/local/bin
-
/usr/sbin
-
/usr/bin
-
/sbin
-
/bin
-
/usr/games
-
/usr/local/games
-
/snap/bin
-
/home/linuxiac/.dotnet/tools
検索PATHの順序も重要です。したがって、2つの異なるディレクトリに同じ名前を共有する2つの実行可能ファイルがある場合、シェルはPATHの最初にあるディレクトリでファイルを実行します。
一時的にPATHにディレクトリを追加する
ここで、/srv/scripts
にあるカスタムシェルスクリプトを作成したと仮定します。 ディレクトリであり、このディレクトリをPATH変数に追加します。すべきことは次のとおりです。
export PATH=$PATH:/srv/scripts
物事をより透明にするために、この構文を分解してみましょう。まず、各パラメータの意味は次のとおりです。
export
コマンドは、変更されたPATH
シェルの子プロセス環境に応じて変化します。$
変数名の前は、その値を参照していることを意味します。-
:/srv/scripts
セクションは、:
現在のPATH変数に含まれる値に記号を追加する必要があります。
PATHが今どのように見えるか見てみましょう:
echo $PATH
上記の出力でわかるように、/srv/scripts
ディレクトリがPATH変数の最後に追加されます。これで、/srv/scripts
に保存したファイル ディレクトリは、フルパスを指定せずにどこでも実行できます。
さらに、ディレクトリを何よりも先に検索する必要があると思われる場合は、$PATH
の前にディレクトリを追加できます。 。
export PATH=/srv/scripts:$PATH
ターミナルを終了するか、システムからログアウトすると、PATHが元に戻ることに注意してください。 PATHを設定するこの方法は、現在のターミナルセッション中に一時的にのみ変更を記憶するため、変更は失われます。
永続的にするには、以下のセクションを確認してください。
ディレクトリをPATHに永続的に追加する
変更を永続的にするには、シェル構成ファイルでPATH変数を定義する必要があります。
デフォルトのシステム全体のPATH値は、/etc/profile
で指定されます ファイル。単一のユーザーのパスにディレクトリを追加するのに最適な場所は、そのユーザーの.bashrc
を変更することです。 ファイル。
テキストエディタでファイルを開き、ファイルの一番下までスクロールして、ファイルの最後に次の行を追加します。
vim ~/.bashrc
export PATH=$PATH:/srv/scripts
最後に、ファイルを保存し、source
を使用して新しいPATHを現在のシェルセッションにロードします コマンド:
source ~/.bashrc
ディレクトリが正常に追加されたことを確認するには、次のecho
を入力します パスを確認するコマンド:
echo $PATH
結論
ご覧のとおり、LinuxのユーザーまたはグローバルPATH変数に新しいディレクトリを追加するのは非常に簡単です。ただし、この記事では、一時的と永続的な2つの方法があることを学びました。
それでも疑問がある場合は、コメントでお知らせください。