LinuCレベル1 Version 4.0 102試験の例題と解説
105.1 シェル環境のカスタマイズと使用
シェル変数や環境変数の扱い方について確認しておきましょう。
■トピックの概要
このトピックの内容は以下の通りです。
<105.1 シェル環境のカスタマイズと使用>
重要度 4
<説明>
ユーザの要求に応じてシェル環境をカスタマイズできる。全体のプロファイルおよびユーザのプロファイルを変更する。
<主要な知識範囲>
・ログイン時または新しいシェルを生成したときに、環境変数(PATHなど)を設定する
・よく使用する一連のコマンド用にBashの関数を作成する
・新しいユーザアカウント用のスケルトンディレクトリを保守する
・コマンドサーチパスを適切なディレクトリに設定する
<重要なファイル、用語、ユーティリティ>
・.
・source
・/etc/bash.bashrc
・/etc/profile
・env
・export
・set
・unset
・~/.bash_profile
・~/.bash_login
・~/.profile
・~/.bashrc
・~/.bash_logout
・function
・alias
・lists
■例題
環境変数PWDの設定値を調べたい。正しい実行方法をすべて選択してください。
1. printenv PWD
2. env PWD
3. env | grep PWD
4. set PWD
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「1. $ printenv PWD」と「3. $ env | grep PWD」です。
また、envコマンドを引数なしで実行した場合、printenv同様に設定されている環境変数がすべて表示されます。grepコマンドと合わせて使用することで、検索した環境変数のみを表示することができます。
よって「1. $ printenv PWD」と「3. $ env | grep PWD」が正解となります。
その他の選択肢の解説は以下の通りです。
[2. $ env PWD]
envコマンドは、環境を変更してプログラムを実行するコマンドです。引数に環境変数のみを指定して実行することはできないためエラーになります。よって不正解です。
envコマンドで使用できる主なオプションは以下の通りです。
-, -i, --ignore-environment … 環境変数が無い状態でプログラムを実行する
-u 変数名, --unset 変数名 … 変数名に環境変数が設定されていれば削除する
[4. $ set PWD]
setコマンドは、シェルの設定を確認、変更するコマンドです。引数なしで実行した場合、設定されているシェル変数と環境変数がすべて表示されます。引数に環境変数のみを指定して実行することはできないためエラーになります。よって不正解です。
setコマンドで使用できる主なオプションは以下の通りです。
-o [シェルオプション] … シェルオプションが有効になる
+o [シェルオプション] … シェルオプションが無効になる
オプションの引数に指定するシェルオプションの種類は以下の通りです。
allexport … 作成・変更した変数を自動的にエクスポートする
emacs … emacs風のキーバインドにする
ignoreeof … Ctrl+Dによってログアウトしないようにする
noclobber … 出力リダイレクトによる上書きを禁止する
noglob … メタキャラクタを使ったファイル名展開を無効にする
vi … vi風のキーバインドにする
環境変数の中には普段あまり意識せず使っているものもあるかと思います。一度どのような環境変数が設定されているか確認してみましょう。自分にあった環境変数を適切に設定しておくと便利です。