Re: 回答間違い

この質問の投稿一覧へ

なし Re: 回答間違い

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-3-15 14:30
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
等しくない場合NGになるのは「=」の筈なので誤っています。
解説の補足も逆になっています。
もしかして、「NGという文字列が表示される」と「判定がNGになる」読み間違えてませんか?

設問のシェルを実際に動かすと解説のとおりになりますよ
$ cat test.sh
#!/bin/bash
STR1=/home/pingt/jpgsEND
STR2=/home/pingt/jpgs
↑ STR1とSTR2は異なっている
if test $STR1 != $STR2  ←比較演算子を「!=」にしている
then
    echo "[NG]" ←STR1とSTR2は異なっており、「!=」が真になるのでここが実行される
else
    echo "[OK]"
fi
$ sh ./test.sh
[NG]   ←実行した結果、「[NG]」と表示される
$ tr -d "\!" <test.sh> test2.sh ←エクスクラメーションマークを除去
$ cat test2.sh
#/bin/bash
STR1=/home/pingt/jpgsEND
STR2=/home/pingt/jpgs
if test $STR1 = $STR2 ←比較演算子が「=」になっている
then
    echo "[NG]" ← STR1とSTR2は異なっており、「=」が偽となるので実行されない
else
    echo "[OK]" ←elseによってここが実行される
fi
$ sh ./test2.sh
[OK]   ← 実行した結果、「[OK]」と表示される

投稿ツリー

  >フォーラム検索へ


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