web-dev-qa-db-ja.com

GNU-Linuxシステムで環境変数を永続的に設定する

コマンドexportを使用していましたが、しばらくすると設定された変数が消えたようです。環境変数を永久に設定する最も簡単な方法は何ですか?

ありがとう

2
NeDark

.profileまたは.bash_profileのエクスポート変数は、ターミナルを起動したときにのみ使用でき、ターミナルの外部で起動されたアプリケーションには表示されません。/etc/environmentを使用して、端末外のすべてのアプリケーションで変数を使用できるようにします。

6
Praveen Sripati

Linuxのバージョンによると、標準のbashシェルが使用されていると仮定すると、問題のユーザーはホームフォルダーに.profileまたは.bash_profileファイルを持ちます(Ubuntuでは後者です)。お気に入りのエディターを使用して、そこに変数定義を追加できます-例:

前:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

後:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
MYVARIABLE=THISVALUE

export PATH MYVARIABLE

exportコマンドは、変数を子環境にプッシュして、他のスクリプトやプロセスで使用できるようにします。単一のエクスポートコマンドの背後に変数名を積み上げる必要はありません。定義全体を実行して、一度にエクスポートすることもできます。例:

export MYVARIABLE=THISVALUE

すべての人のグローバル変数は、/ etc/profileで同様の方法で設定できます。

3
Linker3000