Re: 回答間違い
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]」と表示される