助け合いフォーラム

LPIC

LPIC Lv1-102(Ver5.0)
問題ID : 5069
問題を開く
bashにおける環境設定ファイルについて正しいものはどれか。(3つ選択)

この問題はプレミアムコンテンツです。

上に戻る

読み込みフローについての確認

投稿日 2022/06/23

教材にいつもお世話になっております。
早速なんですが、この問題の bash における読み込みフローチャートに疑問です。
/.profile が存在する場合、/.bashrc の読み込み設定有無判定が入るのはわかるのですが、
/.profile が存在しない場合、/.bashrc の読み込み判定は飛ばされるのですか。
お忙しいところ申し訳ございませんが、確認のほどよろしくお願い致します。

2022/06/23 14:09

「.bash_profile」と、「.bash_login」と、「.profile」には「.bashrc」を読み込むための設定が書いてあります。「.bash_profile」の中はこんな感じです↓
if [ -f /.basharc ]; then
. /.bashrc
fi
これは「もし(if ~ fi) .bashrcというファイルがあるなら(-f)、そのファイルに書いてあるコマンドを実行する( . )」という意味です。
これがフローチャートでいうところの「
/.bashrcを読み込む設定があるか」にあたります。
つまり、「(見つかったファイルの中に)
/.bashrcを読み込む設定があるか」てことです。

なので、「/.profile」が無ければ、「/.bashrc の読み込み判定」は行われないです。
なぜなら「/.bashrc の読み込み判定」が行われるのは、「
/.profile」の中だからです。

ちなみに、bashが、.bash_profileと、.bash_loginと、.profileをこの順番で探して、一番最初に見つかったファイルを読み込みます。ファイルが見つかったらそれより後は探さないのです。bashのマニュアルに書いてありました。

でも、そもそも.bash_loginと、.profileはもともとないことの方が多いかもしれません。
私の環境(centos stream)にはなかったです。


コメント

s shunh3

2022/06/23 14:40

すみません、ファイルの中身をよく見てませんでした。 確かにおっしゃる通りで、環境(Ubuntu,CentOS 等)によって初期ファイルが全く異なりますね。 Ubuntu Server 22.04 だと .profile があって、CentOS 7 だと .bash_profile があって、 かつ .bashrc をリードする処理が入っているので、結果的に .bashrc を読み込んでいますね。 すみません!図の誤りかと思ってましたが、あってますね! 申し訳ございませんでした! (Markdown記法のせいで取り消し線が入ってるのはご了承ください…orz)

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?