Re: 問題ID: 21870

この質問の投稿一覧へ

なし Re: 問題ID: 21870

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2018-12-4 17:13
arashi1977  長老 居住地: 広島  投稿数: 1715
質問の意図がいまいちつかめないのですが…
引用:
ファイル1とファイル2が「=」の時、

ファイル1と2は違っているので
then [NG] になっていて、

イコールでないときは
elseで[OK]になっているのではないんでしょうか??
もしかして「条件式の評価」を誤解してませんか?
設問の正答の場合は
if test $STR1 != $STR2
then
   echo "[NG]"
else
   echo "[OK]"
fi
となりますが、この場合1行目のtestによる評価は「変数STR1と変数STR2の内容が一致しなければ真(True)を返す」という意味になります。
1行目の条件評価の結果は、STR1とSTR2の文字列が一致しない(STR1は最後にENDがつく)ので「真」となります。そのため、then以降が実行され、else以降は実行されません。
これは解説にもありますが
引用:
if文は、条件文に記述されたコマンドの終了ステータスを条件分岐に使用します。条件文が真(0)の場合は実行文1、条件文が偽(0以外)の場合は実行文2を実行します。なお、実行文2を記述しない場合は「else」を省略できます。
ということです。

私が質問の意図を読み違えているようであれば、もう少し詳細を教えてもらってもいいですか?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.