UbuntuをはじめとしたLinuxの端末(ターミナル)で[実行ファイル]を実行する際、「カレントディレクトリを移動して実行する」または「フルパスで実行する」が必要な場合がありますが、環境変数の【PATH】に追加すれば「実行ファイル名だけで実行する」と言うことができます。
PATHとは?
Linuxにおいて[PATH(パス)]とは「特定のファイルを示す文字列」を指し、絶対パスと相対パスの2つで表現されることが多いです。
絶対パスとは、[/(ルート)]からファイル名(拡張子を含む)までの全てを含みフルパスとも呼ばれます。
/home/name/test.txt
相対パスとは、特定のフォルダー(ディレクトリ)から見た位置を指します。
./test.txt
[実行ファイル]を実行する際には、[絶対パス]または実行する場所(カレントディレクトリ)から見た[相対パス]を指定しますが、環境変数の[PATH]に実行ファイルが保存された[ディレクトリの絶対パス]を指定すれば、どのディレクトリからでもファイル名だけで実行することができるようになります。
このため、よく使う実行ファイルの絶対パスを環境変数に登録しておくと便利です。
環境変数「PATH」を設定するやり方
「一時的に追加する」と「永続的に追加する」の2つがあります。
一時的
- 端末(ターミナル)より以下のコマンドを実行し[PATH]に追加します。
export PATH=$PATH:[対象ディレクトリのパス]
例えば
export PATH=$PATH:/home/name/appdir
[$PATH]は既存のPATHを表しています。この場合は「既存のPATHの後ろに追記する」となりますが、[$PATH]と[パス]を逆にすれば先頭に追記することも可能です。
export PATH=[対象ディレクトリのパス]:$PATH
また、複数のパスを追加したい場合は[:]を区切り文字として後に追記します。
export PATH=$PATH:/home/name/appdir1:/home/name/appdir2
- 端末(ターミナル)より以下のコマンドを実行し[PATH]を表示して追加されたか確認します。
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/name/appdir
一時的に追加するやり方は以上です。
この場合は端末の新しいウィンドウを開くと元に戻ってしまいますが、元に戻らないようにすることもできます。
永続的
- ホームディレクトリ([name]は環境によって異なります)にある[.bashrc]または[.bash_profile]を開きます(無い場合は新規作成します)。
/home/name/.bashrc
/home/name/.bash_profile
- [.bashrc]または[.bash_profile]に以下を追記します。
export PATH=$PATH:[対象ディレクトリのパス]:[対象ディレクトリのパス]:[対象ディレクトリのパス]...
例えば
export PATH=$PATH:/home/name/appdir1:/home/name/appdir2:/home/name/appdir3
- この場合、新しく起動した端末(ターミナル)から有効になるため、既存の端末で有効にしたい場合には以下のコマンドを実行します。
source ~/.bashrc
永続的に追加するやり方は以上です。