bashでは、なぜ[1]が失敗しなければならないのでしょうか?

シェルスクリプト( bash )では、なぜ条件が成立するのですか?

if [ 1 ]
then
 echo should not enter
fi

#Output
should not enter
ベストアンサー

bashの大括弧は、大括弧内の引数を使って test を呼び出すのと同じです。 man
test
はそれを示しています

STRINGは-n STRINGと同等です

そして

-n STRING
      STRINGの長さはゼロ以外です。

, そして1 is not an empty string. if [ 0 ], if [
false ]
そしてif [ no ] have the same result, but
if [ "" ] has not.

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です