助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 34264
問題を開く
シェルのオプションを設定できるコマンドはどれか。

正解

set

解説

シェルのオプション機能は、setコマンドで有効・無効を設定します。
setコマンドは、引数を指定しない場合は全てのシェル変数と環境変数を表示します。
以下の書式のように引数を指定した場合は、シェルのオプションを変更できます。
※オプションの詳細はLPIC102の範囲です。ここでは「setコマンドでシェルのオプションを設定できる」という事を覚えておきましょう。

set [-o][+o] オプション
オプションを有効にするには「-o」を指定し、解除するには「+o」を指定します。


その他の選択肢について、exportとenvは、環境変数を表示するコマンドでありsetとともによく出題されます。
しかし、この2つにはsetのようにシェルのオプションを設定する機能はないため、誤りです。


また、bashはLinuxの標準シェルの名称であり、このようなコマンドはないため、誤りです。

参考

シェルには様々なオプション機能があります。シェルのオプション機能はsetコマンドで有効・無効を設定します。

setコマンドの書式と主なオプションは以下のとおりです。
※オプションの詳細はLPIC102の範囲です。ここでは「setコマンドでシェルのオプションを設定できる」という事を覚えておきましょう。

set [-o][+o] オプション
オプションを有効にするには「-o」を指定し、解除するには「+o」を指定します。


例)「Ctrl + D」を押してもログアウトしないよう設定する場合


シェルのオプションの設定状態は「set -o」 コマンドで確認できます。


「set +o」ではシェルのオプションの設定状態がsetコマンドの実行形式で表示されます。


なお、「set」コマンドを引数なしで実行すると、設定済みのシェル変数や環境変数、シェル関数が表示されます。
上に戻る

「シェル変数」と「シェルのオプション」の用語の関係

投稿日 2023/08/06

この問題の解説、参考に以下の2つの用語が使用されています。
①「シェル変数」
②「シェルのオプション」

上記①、②についての解説の文章の意味は、以下の様に理解して正しいでしょうか。
(私は、下記の様に思ったのですが、正しいのか自信がないため、質問しております。)

・①は②の一部であり、②に含まれる(①は②のサブセットである)
・①=②ではない
・setは②の全てを表示し、その中に①が含まれる(setの表示は、①以外の部分が存在する)

ご存じの方がおられたら、教えて下さい。
宜しくお願いします。

2023/08/06 23:36

・①は②の一部であり、②に含まれる(①は②のサブセットである)

①と②は異なる機能だと思います。一部でもないです。

・①=②ではない

YESです。

・setは②の全てを表示し、その中に①が含まれる(setの表示は、①以外の部分が存在する)

setコマンド(オプションなし)は ①シェル変数 に加えて環境変数などを表示します。
オプション名を指定しない「set -o(または set +o)」コマンドは、②のすべて? というか設定状況を表示します。

①シェル変数は、シェルの中でのみ有効な変数です。変数名も値も任意です。
$ aaa=100
とすると、シェル変数 aaa には 100 という値が設定されていることになります。
シェル変数をどのように定義してどう使うかはユーザーが決めることです。

②シェルのオプションは、こちらの問題にあるとおり allexport とか emacs とか、名前も機能も決まってます。
有効/無効を切り替えることで、シェルを使う上で便利になったりシェルの動作を自分好みの操作感にできます。
機能を有効にするかどうかはユーザーが決められます。


コメント

k kz5835

2023/08/07 22:24

ojixii様 ご回答、有難うございます。おかげ様で理解することができました。宜しくお願いします。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?