コマンド実行時に環境変数を指定する
以下のようにコマンド実行時に環境変数を指定することができるようです。
$ <変数名>=<値> <コマンド>
試してみる
コマンドに見立てて下記のようなスクリプトを使用します。TEST_VARIABLE1
とTEST_VARIABLE2
という環境変数を表示する単純なスクリプトです。
puts_test_variables
#!/usr/bin/env ruby puts ENV['TEST_VARIABLE1'] puts ENV['TEST_VARIABLE2']
このファイルに実行権限を付与して...
$ chmod u+x puts_test_variables
環境変数TEST_VARIABLE1
とTEST_VARIABLE2
を設定してから実行するとそれぞれの値が表示されます。
$ export TEST_VARIABLE1=Hello $ export TEST_VARIABLE2=World $ ./puts_test_variable Hello World
$ TEST_VARIABLE2=Ruby ./puts_test_variables
Hello
Ruby
できた!もう一度、環境変数を指定しないで実行してみると...
$ ./puts_test_variables Hello World
特定のサブプロセスでのみ環境変数が有効であることが確認できました。ちなみに、以下のように複数の環境変数を一度に設定することもできるようです。
$ TEST_VARIABLE1=Gatsby TEST_VARIABLE2=Hugo ./puts_test_variables Gatsby Hugo
感想
xcodebuildコマンドでiOSアプリをビルドする際にDEVELOPER_DIR
という環境変数を使用することでXcodeのバージョンを指定できるので、実行時にXcodeのバージョンを指定したい場合に使えそう!