LinuCレベル1 102試験の例題と解説
1.06.1シェル環境のカスタマイズ
今回は、LinuC 102試験の試験範囲から「1.06.1 シェル環境のカスタマイズ」についての例題を解いてみます。
シェル環境変数を設定するためのファイルについて確認しておきましょう。
例題
以下の設定ファイルのうち、bashを利用しているユーザのログイン時に実行され、全ユーザから参照される設定ファイルを1つ選択してください。
- ~/.bash_profile
- ~/.bash_login
- /etc/bashrc
- /etc/profile
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4. /etc/profile」です。
/etcディレクトリ以下の設定ファイルは全ユーザから参照されます。一方で、ホームディレクトリ以下の設定ファイルはユーザごとの設定となります。
ログイン時に実行され、全ユーザから参照される設定ファイルは、「/etc/profile」です。LOGNAMEやHOSTNAMEなど基本的な環境変数が設定されます。
そのため、全ユーザー共通で利用する環境変数を設定したい場合に「/etc/profile」へ設定を行います。
その他の選択肢の解説は以下です。
[1. ~/.bash_profile]
誤りです。
「~/.bash_profile」ファイルは、ホームディレクトリ以下の設定ファイルとなるので、ログイン時にユーザ独自の設定を行うファイルです。
環境変数PATHやUSERNAMEなど、ユーザごとに異なる変数の設定を行う際に利用します。
[2. ~/.bash_login]
誤りです。
「~/.bash_login」ファイルは、「~/.bash_profile」ファイルが存在しない場合に、次に検索されるファイルです。そのため、役割としては「~/.bash_profile」ファイルと同じ役割となります。なお、「~/.bash_login」ファイルも存在しない場合は、「~/.profile」ファイルが検索されます。
[3. /etc/bashrc]
誤りです。
「/etc/bashrc」は、bash起動時に実行される各ユーザの「~/.bashrc」ファイルから参照されるファイルです。全ユーザに対する設定がされており、デフォルトのプロンプトを決める「PS1」の設定などをしています。
[4. /etc/profile]
正解です。
「/etc/profile」はBシェル系のプログラムがログイン時に読み込むファイルです。
環境変数の設定を行います。alias等のbashコマンドや関数の設定には利用できないので注意が必要です。
環境変数を設定する際に、ユーザごとに変わる変数なのか、全ユーザ共通の変数なのかによって設定すべきファイルが変わってきます。また、ログイン時に設定されるようにしたいのか、新しいシェルを生成したときに設定したいのかなど、設定するタイミングによっても設定すべきファイルが異なります。
シェル環境変数を設定するためのファイルについて確認し、正しく設定できるようにしましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本知里