2011-06-22 13 views
15

私は行くだろう:Cygwinで環境変数を設定するにはどうしたらいいですか? Linuxでは

setenv -p MYVAR "somevalue" 

しかし、これはcygwinの中で動作するようには思えません。

+0

詳細を教えてください:どのシェルを使用していますか? – amphetamachine

+0

'echo $ SHELL'は/ bin/shをGoogleに返します。これはBourneシェルです。 – BeeBand

+0

Ok - 私はそれを得ました - BourneシェルのためにはVAR = valueです。 – BeeBand

答えて

22

デフォルトでは、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ファイル内でのみアクセスできます。

あなたはこの変数をシェルにその値を印刷することにより定義されていることを確認することができます:シェルの設定ファイルに

unset $MYVAR 

簡単な言葉:

echo $MYVAR 

をあなたは(未設定)で変数を削除することができます

脇に、.bashrc.bash_profile.profileについては、これらの回答を参照してください。

設定の簡略化のため

、私は.bash_profileからあなた.bashrcファイルを調達お勧めします。 .bash_profileにこれを追加します。

if [ -f ${HOME}/.bashrc ]; then 
    source ${HOME}/.bashrc 
fi 

これは.bash_profileから.bashrcをロードします。

export MYVAR="somevalue" 
+0

私はcygwinを起動して次回もMYVARに入りますか? – BeeBand

+1

@BeeBand私はちょうど私の答えを更新しました。シェルでのみコマンドを入力した場合は、シェルを終了するまでコマンドを入力します。設定ファイルに入れると、シェルを使用するたびにそのファイルが作成されます。設定ファイルを変更してシェルを再起動しない場合は、再起動せずに '〜/ .bashrc'を入力して設定ファイルを実行することができます。 – dbmikus

+1

@dbmikus - これを追加することもできます。これは '$ MYVAR'のような環境変数の値にアクセスすることができます。変数の値を見るには、 'echo $ MYVAR'とタイプしてください。 – Steam

2

cygwinの環境変数を設定する最良の方法は、bashのプロファイルを作成し、そのプロファイルを実行することです:あなたがこれを行う場合は、あなたが望むなら

は、あなたではなく、.bashrcに以下の行を置くことができますあなたがログインしてシェルを実行する度に。

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をチェックアウトし、あなたが出力としてパスが表示されるはずの設定です。

関連する問題