スペース(タブまたは「」)のみを含む文字列をテストしますか? [コピー]

スペース(タブまたは「」)のみを含む文字列をテストしますか? [コピー]

以下のコードは機能しません。

stringZ="    "

if [[ "$stringZ" == ^[[:blank:]][[:blank:]]*$ ]];then
  echo  string is  blank
else
  echo string is not blank
fi 

結果:

string is not blank   # wrong

これをどのようにテストできますか?

ベストアンサー1

特定のコードは必要ありませんbash

case $string in
  (*[![:blank:]]*) echo "string is not blank";;
  ("") echo "string is empty";;
  (*) echo "string is blank"
esac

おすすめ記事