为什么"如果[[$ {value} == ^ [[:blank:]] * $]]"无法检测空变量?

时间:2016-10-03 12:47:26

标签: bash shell

我尝试了以下三个代码来检测空变量。

value is judged as empty by [[ -z ]] : value = ''

value is judged as empty by grep -E ^[[:blank:]]* : value = ''

结果如下,

{{1}}

为什么第二个不起作用?请告诉我。

1 个答案:

答案 0 :(得分:3)

你的第二个是模式,而不是正则表达式。它仅匹配至少包含3个字符的字符串:^,单个空白字符,零个或多个任意字符以及$。要匹配表示零个或多个空白字符的正则表达式,请使用=~运算符。

if [[ $value =~ ^[[:blank:]]*$ ]]; then