Skip to content

環境変数とパス

環境変数は、システムやプログラムが参照できる設定情報のことです。代表的なものには、ホームディレクトリを指す HOME や、言語設定である LANG などがあります。ターミナル上で env または printenv と実行すると、環境変数の一覧を参照できます。ut.code(); Learn では、データベースの章で、DATABASE_URLという変数を .env ファイルに記述しましたが、それも環境変数の一つです。

環境変数を一時的に設定するには、変数名とその値を export します。以下の例では、MY_VAR という環境変数に "Hello, world! という値を設定しています。

Terminal window
export MY_VAR="Hello, world!"

正しく設定できたか、echo コマンドを実行して、確認してみましょう。環境変数を参照する際には、頭に $ をつけます。

Terminal window
echo $MY_VAR

Hello, world! と表示されれば、正しく設定されています。 ただ、この設定は、ターミナルを閉じると、消えてしまいます。そこで、永続的に設定する方法について説明します。 ここで登場するのが ~/.zshrc~/.bashrc です。ユーザーが OS にコマンドを入力して操作するためのインターフェースのことをシェルと言い、シェルには Zsh や Bash などがありますが、~/.zshrc~/.bashrc はそれらの設定ファイルです。そこに環境変数を書くことで、永続的に設定されます。 まず、自分がどのシェルを使っているか、確認してみましょう。シェルの情報は、SHELL という環境変数に書かれています。

Terminal window
echo $SHELL

ここでは、Bash を使っていることを想定して、話を進めます。Zsh を使っていう場合も同じ要領でできます。以下のコマンドを実行して、~/.bashrcMY_VAR という環境変数を書き込みましょう。

Terminal window
echo 'export MY_VAR="Hello, world!"' >> ~/.bashrc
source ~/.bashrc

ここで、source ~/.bashrc を実行することで、設定を即座に反映させています。

Terminal window
正しく設定されているか、`cat` コマンドを用いて `~/.bashrc` の内容を確認してみましょう。
```sh
cat ~/.bashrc

export MY_VAR="Hello, world!" と記述されていれば、正しく設定されています。

環境変数 PATH を設定することを、しばしば「パスを通す」と言います。PATH の主な役割は、コマンドを実行する際に、シェルがそのコマンドの実行ファイルをどこから探せばよいかを示すことです。
PATH には、複数のディレクトリを : で区切って指定します。新しいディレクトリを PATH に追加する際は、通常、既存の PATH の値に新しいディレクトリを付け加える形で行います。
例えば、/usr/local/bin というディレクトリを PATH に追加する場合、以下のコマンドを実行します。

Terminal window
export PATH="$PATH:/usr/local/bin"

このコマンドは、現在の PATH の末尾に /usr/local/bin を追加して、PATH を上書きします。これにより、/usr/local/bin にあるプログラムをターミナルで実行できるようになります。

Q. export PATH=$PATH:/usr/local/bin を実行したときの動作として正しいものは?

Homebrew について (Mac ユーザー向け)

Section titled “Homebrew について (Mac ユーザー向け)”

Homebrew とは、macOS や Linux でソフトウェアを簡単にインストール・管理できるパッケージマネージャーです。macOS を使っている方は、Homebrew を使うことで、ターミナルから簡単にソフトウェアをインストールしたり、依存関係を自動で解決してくれたりできます。便利ですね!