環境変数の設定に関するメモ

いくつか実行環境をつかっていると環境変数の設定方法をいつも間違えるのでまとめておきます。

f:id:ueponx:20181229190252p:plain

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

WindowsPowerShell環境

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

おわりに

内容がチラシの裏レベルになってきている…でも、最近はドキュメントやワークショップの内容が処理系に偏ることも多いのでこれを使って読み替えて勉強します。