私の環境変数はどこにありますか? (すべての一般的な場所を検索しました) [重複]

私の環境変数はどこにありますか? (すべての一般的な場所を検索しました) [重複]

@ilkkachuのおかげで解決策を見つけました。ここに投稿し、コメントでも確認できます。

環境変数の設定を解除したいと思い、次の場所をすべて検索しました。

~/.bashrc
~/.profile
/etc/profile
/etc/environment
~/.bash_profile
/etc/bash.bashrc
/etc/profile.d/

見てわかるように、私は宿題をしましたが、この特定の環境変数が見つからないだけでなく、envコマンドが表示する環境変数もほとんど見つかりません。

ところで、私はDebian 10を使用しています。

PS:この質問は複数のフォーラムで何度も質問を受けたため、この問題を抱えている人は@terdonが提供する機能を使用するように答えます。残念ながら、これは私の問題を解決しません。しかし、一般的な状況では間違いなく動作します。

ベストアンサー1

この種のタスクのための小さなbash機能があります。

grep_bash () 
{ 
    grep --color -H "$@" ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login ~/.bash_aliases /etc/bash.bashrc /etc/profile /etc/profile.d/* /etc/environment 2> /dev/null
}

これは、私が慣れているLinuxのさまざまなバージョンで一般的に使用されているほとんどの(すべての?)ファイルに対処します。~/.bash_aliases私が知る限り、これにはUbuntuに関する内容が含まれています。また、検索していない標準ファイルも含まれています。最も重要なことは/etc/profile.d

変数が見つからない場合は、上記のいずれかのファイルから別のファイルをインポートする可能性が高くなります。すべてのソースファイル行をgrepしてから、その行も参照できます。

grep_bash -E '(\.|source) ' 

上記のファイルの1つが他のファイルをソースとするすべての行がリストされているため、変数はソースファイルの1つに定義されています。もちろん、これらのソースファイルは他のファイルのソースになる可能性があるため、より深く入る必要があるかもしれませんが、これは開始点になるはずです。

おすすめ記事