レス
前レス
元トピ
次レスタイトル
Re: Re: 問題ID: 21870
フォーラム
最強WEB問題集LinuC/LPIC Lv1 102
投稿ユーザ(投稿日)
(2018/12/4)本文
あ、待てよ?こういうことか?
-----引用(始)-----
条件文1 と 条件文2 が 成立する場合(=)
then が OK になるという事じゃないのでしょうか?
-----引用(終)-----
もしかしてifの判定対象になる「条件文」の範囲を誤解されてる?ifで判定されるのは「条件文1 "演算子" 条件文2」までがひとかたまりですが、そこは大丈夫ですかね?
-----引用(始)-----
仮に条件文がイコールだとして 二つの条件を「1」「1’」とした場合、
1 と 1’ がイコールだと
then OK が出るという事じゃないんでしょうか
1 ≠ 1’ then NG
条件文が同じなのにノットイコールだと NG
1 ≠ 2 thne OK
条件文同じでないものをノットイコールとするとそれは真ではないのでしょうか
-----引用(終)-----
上記の例示をあえてそのまま使うとそれぞれの演算子を使うと以下のように評価されます。
[code]
=(両辺の文字列が同じ場合に「真」を返す)演算子を使う場合
1 = 1 → 「1」と「1」は同じ文字列なので真
1 = 1' → 「1」と「1'」は同じ文字列ではないので偽
1 = 2 → 「1」と「2」は同じ文字ではないので偽
!=(両辺の文字列が異なる場合に「真」を返す)演算子を使う場合
1 != 1 → 「1」と「1」は異なる文字列ではないので偽
1 != 1' → 「1」と「1'」は異なる文字列なので真
1 != 2 → 「1」と「2」は異なる文字なので真
[/code]
次に条件評価の結果「if〜then〜else」によって処理が分岐します。これは
[code]
if 【評価式】
then
評価結果が「真」の場合の処理
else
評価結果が「偽」の場合の処理
fi
[/code]
のように実行されます。
上記を踏まえて
-----引用(始)-----
仮に条件文がイコールだとして 二つの条件を「1」「1’」とした場合、
1 と 1’ がイコールだと
then OK が出るという事じゃないんでしょうか
-----引用(終)-----
「条件文がイコール」というのがはっきりしないのですが
→=(イコール)演算子を使用するという意味であれば、21870の正答と異なるので話の前提条件が正しくない
→「1」と「1'」が同じ文字列(イコール)だという意味であれば、21870の正答となる!=(ノットイコール)演算子での評価結果は「偽」となるので、設問のシェルスクリプトではelse以降の処理によって「OK」が表示される
ということでどうですかね?
これで合ってるといいな…
レス一覧
前レス
元トピ
次レス
Copyright (c) 2010
Ping-t All rights reserved.