しばらく前に設定したLinuxインスタンスがあります。起動してログインするときにroot
いくつかの環境変数を設定しましたが、その変数がどこから来たのか覚えていないか、見つかりませんでした。
~/.bash_profile
と/etc/.bash_rc
すべての起動スクリプトを確認しました。- 私は無駄
find
に走ったgrep
。
きっとどこかを見るのを忘れてしまったようです。この問題を解決する方法はありますか?
ベストアンサー1
zsh
ログインシェルの場合:
zsh -xl
そしてbash
:
PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2
これはログインシェルをエミュレートし、完了したすべての操作(リダイレクトされたstderrを使用する領域を除くzsh
)と現在解釈されているファイル名を表示します。
したがって、すべきことは、その出力で環境変数の名前を見つけることです。 (このscript
コマンドを使用すると、シェルセッション全体の出力を保存できます。またはこのbash
方法では、出力を端末の代わりに端末に保存する7> file.log
ために使用できます。)7>&2
xtrace
file.log
変数がないと、シェルは起動時にそれを継承する可能性があるため、以前にPAM構成で設定されていたか、~/.ssh/environment
X11セッションの開始時に読み取られた内容(~/.xinitrc
、、~/.xsession
)、またはログインマネージャを起動したサービス定義に設定されています。サーバーより早く起動スクリプトがあります。それではfind /etc -type f -exec grep -Fw THE_VAR {} +
役に立ちます。