レス
元トピ
次レスタイトル
Re: 問題ID: 21870
フォーラム
最強WEB問題集LinuC/LPIC Lv1 102
投稿ユーザ(投稿日)
(2018/12/4)本文
質問の意図がいまいちつかめないのですが…
-----引用(始)-----
ファイル1とファイル2が「=」の時、
ファイル1と2は違っているので
then [NG] になっていて、
イコールでないときは
elseで[OK]になっているのではないんでしょうか??
-----引用(終)-----
もしかして「条件式の評価」を誤解してませんか?
設問の正答の場合は
[code]
if test $STR1 != $STR2
then
echo "[NG]"
else
echo "[OK]"
fi
[/code]
となりますが、この場合1行目のtestによる評価は「変数STR1と変数STR2の内容が一致しなければ真(True)を返す」という意味になります。
1行目の条件評価の結果は、STR1とSTR2の文字列が一致しない(STR1は最後にENDがつく)ので「真」となります。そのため、then以降が実行され、else以降は実行されません。
これは解説にもありますが
-----引用(始)-----
if文は、条件文に記述されたコマンドの終了ステータスを条件分岐に使用します。条件文が真(0)の場合は実行文1、条件文が偽(0以外)の場合は実行文2を実行します。なお、実行文2を記述しない場合は「else」を省略できます。
-----引用(終)-----
ということです。
私が質問の意図を読み違えているようであれば、もう少し詳細を教えてもらってもいいですか?
レス一覧
元トピ
次レス
Copyright (c) 2010
Ping-t All rights reserved.