いくつか実行環境をつかっていると環境変数の設定方法をいつも間違えるのでまとめておきます。
Windows系cmd環境
Windows系のCLI環境で代表的なのはcmd.exe
ですね。
【設定方法】
> set MYENV=value
【表示方法】
> set
以下の例では
MYENV
という環境変数にvalue
という値を格納して、設定された環境変数を格納しています。
C:\>set MYENV=value C:\>set ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\uepon\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files 【中略】 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT=$P$G 【中略】 MYENV=value windir=C:\WINDOWS
Windows系PowerShell環境
Windows系のもう一つのCLI環境であるPowerShellになります。
環境変数に値を設定するには、「$env:変数名」に「=」で値を設定します。設定時には"(ダブルクオーテーション)
が必要になるので注意です。
【設定方法】
PS C:\> $env:MYENV = "value"
【表示方法】
PS C:\> Get-ChildItem env:
または
PS C:\> dir env:
dir
はコマンドのように見えていますが、PowerShell上ではaliasで
Alias dir -> Get-ChildItem
と設定されているので実際は同じものを実行しているだけです。
【実行してみる】
PS C:\> $env:MYENV="value" PS C:\> dir env: Name Value ---- ----- ALLUSERSPROFILE C:\ProgramData APPDATA C:\Users\uepon\AppData\Roaming CommonProgramFiles C:\Program Files\Common Files CommonProgramFiles(x86) C:\Program Files (x86)\Common Files CommonProgramW6432 C:\Program Files\Common Files 【中略】 MYENV value 【中略】 windir C:\WINDOWS
また、環境変数はドライブのように扱われているのでenv:
という形でアクセスしています。
そのため、こんなふうに表示することもできます。
PS C:\> cd env: PS Env:\> ls
多分使わないと思いますが…
RaspberryPi系Bash環境とOSX系
シェルの環境にはよりますが、デフォルトはbash
なのでそちらを。
【設定方法】
$ export MYENV=value
【表示方法】
$ env
【実行結果】
pi@raspberrypi:~$ export MYENV=value pi@raspberrypi:~$ env LC_ALL=ja_JP.UTF-8 【中略】 MYENV=value 【中略】 _=/usr/bin/printenv
おわりに
内容がチラシの裏レベルになってきている…でも、最近はドキュメントやワークショップの内容が処理系に偏ることも多いのでこれを使って読み替えて勉強します。