LinuCレベル1 101試験の例題と解説

主題1.03GNUとUnixのコマンド

1.03.1コマンドラインの操作

このエントリーをはてなブックマークに追加

今回は、LinuC 102試験の試験範囲から「1.03.1 コマンドラインの操作」についての例題を解いてみます。
シェル変数や環境変数の扱い方について確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

環境変数PWDの設定値を調べたい。正しい実行方法をすべて選択してください。

  1. printenv PWD
  2. 2. env PWD
  3. 3. env | grep PWD
  4. 4. set PWD

※この例題は実際の試験問題とは異なります。


解答と解説

答えは「1. $ printenv PWD」と「3. $ env | grep PWD」です。

printenvコマンドの引数に環境変数を指定することで、その環境変数に設定されている値を表示することができます。引数なしで実行した場合は、設定されている環境変数がすべて表示されます。
また、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風のキーバインドにする

環境変数の中には普段あまり意識せず使っているものもあるかと思います。一度どのような環境変数が設定されているか確認してみましょう。自分にあった環境変数を適切に設定しておくと便利です。


例題作成者

株式会社デージーネット OSS研究室 橋本知里

ページトップへ