env.shファイルを作成しました。内容は以下の通りです。
#!/bin/sh
export M2_HOME=/vagrant/tools/maven
export PATH=$PATH:$M2_HOME/bin
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_65
export ANT_HOME=/usr/local/apache-ant-1.9.7
export MAVEN_HOME=$M2_HOME
しかし、このshファイルを実行しても、環境変数はエクスポートされません。エクスポートするには、各行を手動で実行する必要があります。助けてください
答え1
ファイルを実行するのではなく、source
( )する必要があります:.
. env.sh
スクリプトを実行すると、サブシェルで実行され、(サブ)シェルが終了するとエクスポートされたすべてのパラメータはスコープ外となり、親シェルには影響しません。
これを実行するとsource
、呼び出しセッションでパラメータが使用可能になります。また、呼び出し元の子プロセスでもパラメータが使用可能になりますexport
。
sh
Ubuntu のデフォルトのシステム シェル ( ) はでありdash
、bash
は対話型シェルとしてgnome-terminal
起動されないことに注意してくださいbash
。実行中に、シェバンが正しいこと、および希望するものであることを確認してください。またsource
、 -ing 中にシェバンは必要ないので、削除できます。