Linuxでは、私は行きます:
setenv -p MYVAR "somevalue"
しかし、これはcygwinでは機能しないようです。
デフォルトでは、Cygwinは Bourne Shell または Bash を実行しているため、変数を設定するコマンドは異なります。これは必要なコードです:
export MYVAR="somevalue"
export
部分は、ローカル変数ではなく環境変数であることをシェルに知らせます。
ホームディレクトリにls -a
と入力すると、次のファイルの一部またはすべてが表示されます。
.bashrc
.bash_profile
.profile
.bash_profile
はログインシェルに対して実行され、.bashrc
は対話型の非ログインシェルに対して実行されます。環境変数が常に設定されていることを最も簡単に確認するには、.bash_profile
を開いてテキストを追加します。
export MYVAR="somevalue"
シェルは、起動するたびに.bash_profile
を実行し、このコマンドを実行します。これで、MYVAR
変数にいつでもアクセスできるようになります。変数をexport
しなかった場合、.bash_profile
ファイル内でのみアクセスできます。
シェルに値を出力することにより、この変数が定義されていることを確認できます。
echo $MYVAR
次の方法で変数を削除(設定解除)できます。
unset $MYVAR
余談ですが、.bashrc
vs .bash_profile
vs. .profile
に関しては、次の回答をご覧ください。
設定を簡単にするため、.bashrc
から.bash_profile
ファイルを入手することをお勧めします。これを.bash_profile
に追加します:
if [ -f ${HOME}/.bashrc ]; then
source ${HOME}/.bashrc
fi
これにより、.bashrc
から.bash_profile
がロードされます。
これを行う場合、代わりに次の行を.bashrc
に入れることができます。
export MYVAR="somevalue"
Cygwinで環境変数を設定する最良の方法は、bashプロファイルを作成し、ログインしてシェルを実行するたびにそのプロファイルを実行することです。
私の.bash_profileファイルでは、これは私が持っている設定です
Java_HOME = C:/Program Files/Java/jdk1.7.0_51
export Java_HOME
export PATH=$PATH:$Java_HOME/bin
Bashを実行したら、echo $ Java_HOMEをチェックアウトすると、パスが出力として表示されるはずです。