アンドロイド

Linuxでパスにディレクトリを追加する方法

目次:

Anonim

コマンドラインでコマンドを入力すると、基本的には、指定された名前で実行可能ファイルを実行するようシェルに指示します。 Linuxでは、 ls find file などのこれらの実行可能プログラムは、通常、システム上のいくつかの異なるディレクトリ内に存在します。 これらのディレクトリに格納された実行可能権限を持つファイルは、任意の場所から実行できます。 実行可能プログラムを保持する最も一般的なディレクトリは、 /bin /sbin /usr/sbin /usr/local/bin および /usr/local/sbin です。

しかし、シェルはどのようにして実行可能プログラムを検索するのか、シェルはファイルシステム全体を検索するのか、どのように知っていますか?

答えは簡単です。 コマンドを入力すると、シェルは、ユーザーの $PATH 変数で指定されたすべてのディレクトリを検索して、その名前の実行可能ファイルを探します。

この記事では、Linuxシステムで $PATH にディレクトリを追加する方法を示します。

Linuxの $PATH とは

$PATH 環境変数は、実行可能ファイルを検索するディレクトリをシェルに指示するディレクトリのコロン区切りリストです。

$PATH に含まれるディレクトリを確認するには、 printenv または echo コマンドを使用できます。

echo $PATH

出力は次のようになります。

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

$PATH ディレクトリを追加する

$PATH 変数に他のディレクトリを追加したい場合があります。 たとえば、一部のプログラムは別の場所にインストールされている場合や、個人用スクリプト専用のディレクトリが必要な場合がありますが、実行可能ファイルへの絶対パスを指定せずに実行できます。 これを行うには、ディレクトリを $PATH に追加するだけです。

シェルスクリプトを保持するホームディレクトリに bin というディレクトリがあるとします。 ディレクトリを $PATH 追加するには、次を入力します。

export PATH="$HOME/bin:$PATH"

export コマンドは、変更された変数をシェルの子プロセス環境にエクスポートします。

実行可能ファイルのフルパスを指定せずに、実行可能スクリプト名を入力するだけでスクリプトを実行できるようになりました。

ただし、この変更は一時的なものであり、現在のシェルセッションでのみ有効です。

変更を永続的にするには、シェル構成ファイルで $PATH 変数を定義する必要があります。 ほとんどのLinuxディストリビューションでは、新しいセッションを開始すると、次のファイルから環境変数が読み取られます。

  • /etc/environment /etc/profile グローバルシェル固有の構成ファイル。 新しいディレクトリをすべてのシステムユーザー $PATH 追加する場合は、このファイルを使用します。

    ユーザーごとのシェル固有の構成ファイル。 たとえば、Bashを使用している場合、 ~/.bashrc ファイルで $PATH 変数を設定できます ~/.zshrc を使用している場合、ファイル名は ~/.zshrc です。

この例では、 ~/.bashrc ファイルに変数を設定します。 テキストエディターでファイルを開き、最後に次の行を追加します。

nano ~/.bashrc 〜/.bashrc

export PATH="$HOME/bin:$PATH"

ファイルを保存し、 source コマンドを使用して現在のシェルセッションに新しい $PATH をロードします。

source ~/.bashrc

ディレクトリが正常に追加されたことを確認するには、次を入力して $PATH 値を出力します。

echo $PATH

結論

ユーザーまたはグローバル $PATH 変数に新しいディレクトリを追加するのは非常に簡単です。 これにより、非標準の場所に保存されているコマンドとスクリプトを実行可能ファイルへのフルパスを入力することなく実行できます。

Ubuntu、CentOS、RHEL、Debian、Linux Mintなど、すべてのLinuxディストリビューションに同じ手順が適用されます。

ご質問がある場合は、コメントをお気軽にお寄せください。

ターミナル