/etc/bash.bashrcはいつ呼び出されますか?

/etc/bash.bashrcはいつ呼び出されますか?

このファイルは正確に何ですか?文書それについての言及はありません。そして自動的に実行してはいけません(4.32014年2月2日バージョン)。

対話型ログインシェルとして呼び出されるか、--loginを使用して呼び出されます。

Bashが--loginオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まず/ etc / profileファイル(ファイルがある場合)からコマンドを読み取り、実行します。ファイルを読み込んだら、~/.bash_profile、~/.bash_login、~/.profile を順番に探して、存在して読み取れる最初のファイルからコマンドを読み込んで実行します。この動作は、シェルの起動時に --noprofile オプションを使用して無効にできます。

ログインシェルが終了すると、Bashは〜/ .bash_logoutファイル(存在する場合)からコマンドを読み取り、実行します。

対話型の非ログインシェルとして呼び出される

ログインシェルではなく対話型シェルを起動すると、Bash はファイルが存在する場合は ~/.bashrc からコマンドを読み込み実行します。 --norcオプションを使用してこれを無効にできます。 --rcfile file オプションは、Bash が ~/.bashrc の代わりにファイルからコマンドを読み込んで実行するように強制します。

したがって、通常 ~/.bash_profile には次の行が含まれます。

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

ログインごとの初期化後(または前)です。

非対話型通貨

Bashが非対話式で始まる場合、たとえばシェルスクリプトを実行するために環境でBASH_ENV変数を見つけてその値が表示されたら、それを拡張し、拡張値をファイルとして読み込み実行する名前です。 Bashは、次のコマンドが実行されたかのように動作します。

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi

ただし、PATH変数の値はファイル名を取得するためには使用されません。

前述のように、 --login オプションを使用して非対話型シェルを呼び出すと、Bash はログインシェルの起動ファイルからコマンドを読み込んで実行しようとします。

ベストアンサー1

Debian でbash README:

  1. 何ですか/etc/bash.bashrc?記録がないようです。

Debian バージョンの bash は、対話型の非ログインであるシェルの前に読み取ることができる特別なオプション ( ) で-DSYS_BASHRCコンパイルされます。bashしたがって、Debian システムでは to が to です。/etc/bash.bashrc~/.bashrc/etc/bash.bashrc~/.bashrc/etc/profile~/.bash_profile

おすすめ記事