助け合いフォーラム
LinuC Lv1-101(Ver10.0)
問題ID : 14731
問題を開く
以下のようにしてシェル変数LPICを設定した。このシェル変数を環境変数にするコマンドは次のうちどれか。(2つ選択)
$ LPIC=study_linux
$ LPIC=study_linux
正解
export LPIC
declare -x LPIC
解説
export や declare -x を以下のように実行すると、シェル変数を環境変数に変更できます。
(declareコマンドは「オプション無し」で全てのシェル変数と環境変数を表示、「-x」で環境変数を宣言できます。)
export シェル変数名
declare -x シェル変数名
したがって正解は
・export LPIC
・declare -x LPIC
です。
その他の選択肢については以下のとおりです。
・export=LPIC
「export」というシェル変数を設定していますので、誤りです。
・echo $LPIC
変数LPICの値を表示しますので、誤りです。
・printenv LPIC
環境変数LPICの値を表示しますので、誤りです。
(declareコマンドは「オプション無し」で全てのシェル変数と環境変数を表示、「-x」で環境変数を宣言できます。)
export シェル変数名
declare -x シェル変数名
したがって正解は
・export LPIC
・declare -x LPIC
です。
その他の選択肢については以下のとおりです。
・export=LPIC
「export」というシェル変数を設定していますので、誤りです。
・echo $LPIC
変数LPICの値を表示しますので、誤りです。
・printenv LPIC
環境変数LPICの値を表示しますので、誤りです。
参考
Linuxで使用できる変数には、シェル変数と環境変数があります。
・シェル変数
変数を設定したシェル上でのみ有効な変数です。シェル変数は以下のようにして作成することができます。
シェル変数名=値
・環境変数
変数を設定したシェル上と、そこから起動されるシェルやアプリケーション、コマンドで有効な変数です。これは設定が引き継がれる事を意味します。
環境変数は export や declare -x を実行して作成することができます。
(declareコマンドは「オプション無し」で全てのシェル変数と環境変数を表示、「-x」で環境変数を宣言できます。)
export 環境変数=値
declare -x 環境変数=値
また、export や declare -x によりシェル変数(変数を設定したシェル上でのみ有効な変数)を環境変数に変更できます。
export シェル変数名
declare -x シェル変数名
設定されている変数を一覧で確認するには以下のコマンドを使用します。
なお、echoコマンドを使用して、個々のシェル変数または環境変数の値を確認することもできます。値を確認したい変数の先頭に「$」をつけたものを引数に指定します。
# echo $HOME
/root
すでに設定されている環境変数やシェル変数を「削除」するには unset コマンドを実行します。
unset 変数名
・シェル変数
変数を設定したシェル上でのみ有効な変数です。シェル変数は以下のようにして作成することができます。
シェル変数名=値
・環境変数
変数を設定したシェル上と、そこから起動されるシェルやアプリケーション、コマンドで有効な変数です。これは設定が引き継がれる事を意味します。
環境変数は export や declare -x を実行して作成することができます。
(declareコマンドは「オプション無し」で全てのシェル変数と環境変数を表示、「-x」で環境変数を宣言できます。)
export 環境変数=値
declare -x 環境変数=値
また、export や declare -x によりシェル変数(変数を設定したシェル上でのみ有効な変数)を環境変数に変更できます。
export シェル変数名
declare -x シェル変数名
設定されている変数を一覧で確認するには以下のコマンドを使用します。
なお、echoコマンドを使用して、個々のシェル変数または環境変数の値を確認することもできます。値を確認したい変数の先頭に「$」をつけたものを引数に指定します。
# echo $HOME
/root
すでに設定されている環境変数やシェル変数を「削除」するには unset コマンドを実行します。
unset 変数名
setとdeclareの違い
投稿日 2024/11/25
解説の表にset,declareともに「すべてのシェル変数と環境変数を表示」と書いてありますが、この二つの違いは何でしょうか?ネットで調べてみましたがよくわからず、わかる方がいたら教えていただきたいです。
この投稿に対して返信しませんか?