シェルスクリプトで文字列がNULLであるかどうかを確認するには? [閉鎖]

シェルスクリプトで文字列がNULLであるかどうかを確認するには? [閉鎖]

このようなスクリプトがあります。

    #!/bin/bash
    line="hello"

    if [ -z $line ] ; then
            echo "String null"
    fi

これはうまくいきますが、line以下のように提供すると

    line="hello welcome"

次のようにエラーが渡されます。

     a.sh: 5: [: hello: unexpected operator

このような場合は空であるかどうかを確認できますか?

ベストアンサー1

if条件で$ lineを二重引用符で囲むと正常に動作します。

#!/bin/bash
line="hello welcome "

if [ -z "$line" ] ; then
        echo "String null"
fi

おすすめ記事