
BCD"
REGEXP="^[#]"
#
变量赋值不需要前缀$
if
[[
$line
=~
$REGEXP
]]
&&
[[
$line
!=
''
]]
then
#粗心
[[
]]
要配对使用
你写成了
[[
]
[
]]
true
#shell
不能使用空的if
结构,至少要有一个命令。
可以使用true命令
。
echo
yes
else
echo
NO
fi
###
end
另外Bash
不支持完全的正则表达式。[[
“$line”
=~
“$REGEXP”
]]
不能达到你想要的效果。
需要使用echo
"$string"|
grep
-qP
/regexp/
Zsh
支持完整的正则表达式,
[[
“$line”
=~
“$REGEXP”
]]
能达到你想要的效果。
if[
1
<
2
]
then数值不是用“<”符号比较,应该用-lt
其它的还有:-eq
不等于,等同于<>-gt
大于,等同于>-lt
小于,等同于<-ge
大于等于,等同于>=-le
小于等于,等同于<=
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)