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

1.03.1コマンドラインの操作

LinuCレベル1 101試験の出題範囲から、「1.03.1 コマンドラインの操作」についての例題を解いてみます。exportコマンドについて確認しておきましょう。

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


例題

exportコマンドの説明として間違っているものを選択してください。

  1. 環境変数の一覧を表示することができる
  2. シェル変数を環境変数に昇格させることができる
  3. 環境変数を設定すると同時に値を格納することができる
  4. シェル変数を設定すると同時に値を格納することができる

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


解答と解説

正解は、「4. シェル変数を設定すると同時に値を格納することができる」です。

シェル変数とは、現在動作しているシェルでしか参照ができない変数です。
シェル変数を設定するには、「変数名=値」とするだけで設定することが可能です。

$ TEST=test  ←シェル変数を設定
$ echo $TEST ←変数の値を表示
test
$ bash       ←新しいシェルを起動
$ echo $TEST ←変数の値を表示
             ←新しいシェルでは参照できない

一方、環境変数は、現在動作しているシェルだけでなく、そのシェルが呼び出した子プロセスでも利用できます。
環境変数は、exportコマンドを用いて設定することが可能です。

$ export TEST=test  ←環境変数を設定
$ echo $TEST        ←変数の値を表示
test
$ bash              ←新しいシェルを起動
$ echo $TEST        ←変数の値を表示
test                ←環境変数なので参照可能

このように、「export 変数名=値」とすることで、環境変数を定義することが可能です。
それでは選択肢を見ていきます。

1.環境変数の一覧を表示することができる
正しい説明です。

exportコマンドを引数なしで実行した場合、設定されている環境変数の一覧を表示することができます。

$ export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/home/user"
declare -x HOSTNAME="linuc"
declare -x LANG="ja_JP.utf8"
:
(以下略)
:

2.シェル変数を環境変数に昇格させることができる
正しい説明です。

「export 変数名」とすることで、シェル変数を環境変数に昇格させることができます。

$ TEST2=test2            ←シェル変数を設定
$ export | grep TEST2    ←環境変数に設定されていないことを確認
$
$ export TEST2           ←シェル変数を環境変数に昇格
$ export | grep TEST2    ←環境変数に設定されたことを確認
declare -x TEST2="test2"
$ bash                   ←新しいシェルを起動
$ echo $TEST2            ←変数の値を表示
test2                    ←環境変数なので参照可能

3.環境変数を設定すると同時に値を格納することができる
正しい説明です。

前半の解説で説明した通り、「export 変数名=値」とすることで、環境変数を設定すると同時に値を格納することが可能です。

$ export TEST3=test3     ←環境変数を設定
$ export | grep TEST3    ←環境変数に設定されたことを確認
declare -x TEST3="test3"

4.シェル変数を設定すると同時に値を格納することができる
間違った説明です。

シェル変数を設定すると同時に値を格納するには、exportコマンドを使わず、「変数名=値」とするだけで設定できます。

$ TEST4=test4  ←シェル変数を設定
$ echo $TEST4        ←変数の値を表示
test4

今回は、間違った説明を答える問題ですので、「4. シェル変数を設定すると同時に値を格納することができる」が正解となります。

環境変数は、現在のシェルだけでなく、そのシェルから呼びだされた子プロセスや、プログラムからも参照できる便利な変数です。また、システムのロケールを設定する「LANG」や、パスを設定する「PATH」など、システムの挙動を決定する環境変数もあります。
現在設定されている環境変数を参照し、必要に応じて適切に変更できるようにしておきましょう。


例題作成者

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

ページトップへ