![シェルスクリプトで文字列がNULLであるかどうかを確認するには? [閉鎖]](https://linux33.com/image/5690/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3%81%8CNULL%E3%81%A7%E3%81%82%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
このようなスクリプトがあります。
#!/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