.bashrc 現在の作業シェルが生成される親シェルを生成するかどうか

.bashrc 現在の作業シェルが生成される親シェルを生成するかどうか

永続ディレクトリを設定するには、exportそのディレクトリを〜/ .bashrcに追加する必要があります。

PATH="$PATH":/usr/local/mysql/bin
export PATH

これは、現在の作業シェルが〜/ .bashrcスクリプトの親シェルから生成されたサブシェルであることを意味しますか?

$ var=3; export var; bash
$ echo $var
3

親シェルは変数を子シェルにエクスポートします。

~/.bashrcこれはうまくいくでしょうか?

答え1

いいえ、~/.bashrc新しいシェルは起動しません。

初期化~/.bashrcファイルは源泉つまり、呼び出されたシェルと同じ環境で読み取りおよび実行されます(スクリプトでは実行されません)。

シェルはデフォルトで新しいシェルインスタンスを作成せずにファイルの内容を実行またはsource ~/.bashrc実行します。. ~/.bashrc

export variable=valueコマンドライン(または)variable=value; export variableでこれを実行すると、変数を「エクスポート」に設定してvariable表示valueします。つまり、同じシェルから始まる後続のプロセスによって継承される環境変数になります。新しいシェルは起動しませんexport

答え2

新しいシェルを作成するには意味がありません。これは.bashrcスクリプトではなくテキストファイルです。シェルのPIDを監視します.bashrc

. ~/.bashrc

新しいプロセスは作成されません。これは、ファイルに含まれるすべての行を手動で入力したのと同じです。exportそれ自体は新しいケースを必要としません。環境だけを変えてもできる将来に継承されます。

関連情報