Android 環境構築で覚える Linux 環境変数(PATH)の設定方法

Windows と違い、Linux における環境変数(PATH)の設定は、
端末(ターミナル)にてコマンドを駆使して‥・とややこしいので、
ここで詳細に解説をしておく。
LinuxUbuntu 9.04 を前提としている


■ 使用する UNIX コマンド ■
$ cd :ディレクトリを移動
$ echo :文字列を表示
$ export :環境を変更してプログラムを実行
$ cat :ファイルの内容を標準出力へ出力
$ vi :テキストを編集
$ source :シェルの設定ファイルを読込


■ $ vi コマンド ■
[編集モード]
o :空行を挿入
ESC :文字の編集を終了
[コマンドモード]
:w :ファイルをセーブ
:q :vi を終了
:q! :セーブせずに vi を終了


■ そもそも「PATH」とは? ■
「PATH」をヤホーエキサイトで翻訳に掛けると「経路」と訳された。つまり、「あるコマンドを実行するためのプログラムが存在する場所(ディレクトリ)」と考えたらよいだろう。いちいちその場所(ディレクトリ)まで移動せずとも、環境変数の「PATH」に登録をしておけば、どこからでも簡単に(楽に)コマンドを実行することができる、というわけだ。


例えば、「~/Android/android-sdk/tools/adb」というコマンドを、ホームディレクトリで「adb」とだけ入力して実行させると、エラーとなり実行できない。これは「adb」というコマンドが存在する場所が「~/Android/android-sdk/tools/」であるため、ここまでカレントを移動して来ないと実行できない、というのは当然だろう。


つまり、環境変数に「~/Android/android-sdk/tools/」という「PATH」を通す(設定する)ことで、「adb」というコマンドがどこのディレクトリからでも実行することが可能になるのだ。


■ 設定された「PATH」を確認したいが? ■
$ echo $PATH
でどこからでも確認することができる。


「PATH」は「:(コロン)」で区切られていて、実行「PATH」の優先度は左に記述されている(先に登録されている)ものの方が高い。例えば、「~/Android/android-sdk/tools/adb」と「~/Android/adb」が存在する場合、後者が先に記述されていれば、「adb」コマンドの実行先は「~/Android/adb」となる。


■ 「PATH」の設定方法は? ■
環境変数の「$PATH」を書き換えることがイコール「PATH」の設定となる。例えば「~/Android/android-sdk/tools」へ「PATH」を通したい場合は、


$ export PATH=$PATH:~/Android/android-sdk/tools


というコマンドを実行する。「$PATH」とは「現時点で環境変数の「PATH」に設定されているパス名」だ。複数を同時に設定する場合は「:(コロン)」で区切って入力する。


$ export PATH=$PATH:~/Android/android-sdk/tools:~/jdk1.6.0_13


しかし実は、「$ export」によってユーザが直接「PATH」を設定しても、ログアウトしてしまったらその設定はクリアされてしまい、再ログイン時にまた入力をしなければいけないという手間が残ってしまう。以下で解決する。


■ ログイン時に自動で「PATH」を設定するには? ■
ホームディレクトリ下にある「.bashrc」という隠しファイルを編集することで、「PATH」の自動設定が実現可能だ。


$ cd ~/
$ vi .bashrc


これで「.bashrc」の中身が端末(ターミナル)上に展開され、編集が可能となった。↓キーでファイルの最下部まで行き、「o」と入力すると空行が挿入される。以下を記述してほしい。
※ ここでは例として Android SDK Tools と java を設定する


JAVA_HOME=~/jdk1.6.0_13
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH

ANDROID_SDK_HOME=~/android-sdk
PATH=$PATH:$ANDROID_SDK_HOME/tools
export ANDROID_SDK_HOME PATH


ESCキー押下で編集モードを終了し、「:w」と入力すると編集が保存される。さらに「:q」と入力してファイル編集を終了しよう、画面がコマンド入力に戻る。これで「.bashrc」は「PATH」自動設定に対応した。確認のため、以下を実行してほしい。


$ cat .bashrc


このコマンドで「.bashrc」の中身が確認できる。最下行に追加した記述はあるだろうか?無ければ書き込みに失敗しているので、もう一度トライしよう。


ここまででは、実はまだ「PATH」設定の反映はされていない。「.bashrc」はログイン時にしか自動で読み込まれないからである(「$ echo $PATH」で確かめてみてほしい)。なので、設定を反映させるために、以下のコマンドを実行する。


$ source .bashrc


再度「$ echo $PATH」で確認してみてほしい。
...「PATH」設定完了!