このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:シェル変数:コマンドパス検索
シェル変数の設定
シェル変数は、bashシェル内で使用される変数であり、数値や文字列などの情報を保持してシェルの動作や環境をカスタマイズするために利用されます。bashには、シェルの機能を制御するための特別なシェル変数が多数用意されており、これらを適切に設定することで、シェルの挙動を自在に調整することができます。
ここでは、シェル変数の設定方法について詳しく解説します。具体的には、コマンド検索パスを指定する重要なシェル変数である PATH
について学びます。PATH
変数を理解し適切に設定することで、コマンドの実行がより効率的になり、システムの操作性が向上します。
シェル変数 PATH
:コマンド検索パス
シェル変数 PATH
は、コマンドを実行する際にシェルがそのコマンドの実体ファイルを探すディレクトリを指定します。PATH
変数には、シェルがコマンドを検索するディレクトリが「:」で区切られた文字列として設定されています。
PATH
の内容を確認
現在の PATH
変数の内容は、以下のコマンドで確認できます。
user01@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/usr/local/games:/snap/bin
上記の出力では、複数のディレクトリパスがコロンで区切られており、シェルはこれらのディレクトリを順番に検索してコマンドを探します。
PATH
にディレクトリを追加する理由
通常、PATH
にはディストリビューションごとに適切な値が設定されています。しかし、以下のような場合に PATH
にディレクトリを追加したいことがあります。
- 個別にインストールしたアプリケーションの実行ファイルが標準のディレクトリにない場合
- 自分で作成したコマンドやスクリプトを簡単に実行したい場合
PATH
変数の値を変更してディレクトリを追加すると、そのディレクトリ内のコマンドをフルパスを指定せずに実行できるようになります。
~/bin
ディレクトリを PATH
に追加する
Linuxでは、ユーザー自身が独自のコマンドやスクリプトを作成することが一般的です。これらのコマンドを配置する場所として、ホームディレクトリ下の ~/bin
ディレクトリがよく使用されます。
PATH
に ~/bin
を追加するには、以下のように PATH
変数を再設定します。
user01@ubuntu:~$ PATH="$PATH:~/bin"
PATH
の内容を再確認
PATH
の末尾に ~/bin
が追加されていることが確認できます。
user01@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/usr/local/games:/snap/bin:~/bin
PATH
の設定方法
PATH
変数を設定・変更する際には、以下の点に注意してください。
- 現在の
PATH
に新しいディレクトリを追加する場合、既存のPATH
の値を維持する必要があります。 - 変数の内容を変更するコマンドを使用して、変更を現在のシェル環境に反映させます。
PATH
変数の設定コマンド
user01@ubuntu:~$ PATH="$PATH:追加したいディレクトリ"
$PATH
:現在のPATH
の値:
:ディレクトリの区切り追加したいディレクトリ
:新たに追加するディレクトリパス
~/bin
内のコマンドを実行する
PATH
に ~/bin
を追加することで、~/bin
ディレクトリに配置したコマンドやスクリプトを、フルパスを指定せずに実行できるようになります。
例:~/bin
にある mycommand
を実行
mycommand
が ~/bin
に存在する場合、直接実行できます。
user01@ubuntu:~$ mycommand
まとめ
PATH
変数は、シェルがコマンドを検索するディレクトリのリストを保持します。- ディレクトリパスは「:」で区切られており、シェルは左から順にディレクトリを検索します。
PATH
に新しいディレクトリを追加することで、そのディレクトリ内のコマンドをフルパスなしで実行できます。- ユーザー自身が作成したコマンドやスクリプトを
~/bin
に配置し、PATH
に追加することで、効率的なコマンド実行が可能になります。
シェル変数 PATH
を正しく理解し設定することで、システムの操作性が向上し、日々の作業がよりスムーズになります。自分好みのシェル環境を構築するために、ぜひ PATH
変数の設定を試してみてください。