
Macで環境変数を設定する場所
コマンドラインでは、現在のシェルに対して環境変数が定義され、実行中のコマンドやプロセスに継承されます。環境変数は、デフォルトのシェル、PATH、ユーザーのホームディレクトリ、端末エミュレーションの種類、現在の作業ディレクトリ、履歴ファイルの場所、言語とローカリゼーションの設定など、あらゆる情報を決定できます。さらに、シェル変数には、bashプロンプトのカスタマイズ、ls出力のカラー化、端末の外観の変更、エイリアスなど、あらゆるものが含まれます。
環境変数とシェル変数を一覧表示する方法、そして Mac OS X のコマンド ラインで新しい環境変数を設定および追加する方法について説明します。この手順は、bash シェルと zsh シェルの両方で説明します。
Mac OS Xのbashで現在の環境変数とシェル変数を表示する
環境変数のリストを素早く取得するには、bash で次のコマンドを使用します。
printenv
zsh で環境変数を一覧表示するには、次のコマンドを使用します。
env
またはオプション:
echo $ENV_VAR
シェル変数の完全なリストを表示したい場合は、「set」コマンドも発行できます。
set
これらのコマンドの出力は長くなる可能性があるので、less コマンドまたは more コマンドを通じて出力をパイプするとよいかもしれません。
zshを使ってmacOSのコマンドラインで環境変数を設定する
zsh シェルは、次の場所にあるユーザーのホーム ディレクトリにある zshenv ファイルを通じて環境変数を設定します。
~/.zshenv
したがって、nano、vim などでそのファイルを変更するか、次のように echo を使用して、zsh 環境変数を追加できます。
echo 'export ENV_VAR=example' >> ~/.zshenv
例えば:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Mac OS X コマンドラインで bash を使用して環境変数を設定する
Mac はデフォルトで bash シェルを使用するため、ユーザー ディレクトリ .bash_profile に環境変数を設定できます。アクティブなユーザー アカウントの場合、そのファイルへのパスは次の場所にあります。
~/.bash_profile
シェルを変更した場合や、使用しているシェルがわからない場合は、echo $SHELL コマンドを実行することで、現在使用されているシェルを確認できます。このコマンドは、OS Xのデフォルトのbashシェルを使用していると仮定し、nanoを使用して.bash_profileを編集することで新しい環境変数を追加します。vi、emacs、その他のテキストエディタを使用しても構いませんが、ここでは簡潔なnanoについて説明します。
まず、nano テキスト エディター内で .bash_profile を開きます。
nano .bash_profile
環境変数とシェル変数を新しい行に追加できます。.bash_profile ファイル内にすでにデータがある場合は、必要に応じて矢印キーとリターンキーを使用して、新しい空白行に新しい変数を追加してください。
たとえば、ファイルの新しい行に次のコードを追加して、.bash_profile 内の JAVA_HOME および JRE_HOME 環境変数を設定するとします。
export JAVA_HOME=$(/usr/libexec/java_home)
export JRE_HOME=$(/usr/libexec/java_home)
これで終了したと仮定して、Control+o (カワウソのo) を押して .bash_profile に加えた変更を保存し、Control+X を押してnanoを終了します。
環境変数に変更や追加を行った場合は、シェルを再起動するか、新しいシェルを生成する必要があります。
OS Xで一時的な環境変数を設定する
なお、bashでは「export」コマンドを単独で使用することで一時的な環境変数を設定することもできますが、これらの設定は現在のbashシェルがアクティブである間のみ有効です。例えば、~/bin/への一時的なパスを追加したい場合は、以下のコマンドを使用します。
export PATH=$PATH:~/bin
繰り返しになりますが、.bash_profile 内に含まれず、単独で実行される 'export' コマンドは一時的な設定に過ぎず、環境変数は .bash_profile に追加しない限り保持されません。
実際に使用するために新しい PATH を追加する場合は、適切なエクスポート コマンドをファイルに配置して、それを .bash_profile に追加する必要があります。
bash シェル以外にも、ターミナル アプリのデフォルト シェルを bash から tcsh、zsh、sh、ksh、fish、またはその他の代替シェルに変更した場合は、その特定のシェルの適切なプロファイルまたは rc ファイル (.tschrc、.cshrc、.profile など) を変更するだけで済みます。