【发布时间】:2010-09-18 02:35:15
【问题描述】:
以下代码
number=1
if [[ $number =~ [0-9] ]]
then
echo matched
fi
有效。但是,如果我尝试在正则表达式中使用引号,它会停止:
number=1
if [[ $number =~ "[0-9]" ]]
then
echo matched
fi
我也试过"\[0-9\]"。我错过了什么?
有趣的是,bash advanced scripting guide 建议这应该可行。
Bash 版本 3.2.39。
【问题讨论】:
-
ABS 作为不准确(或者,在更好的日子里,仅仅是误导)指导的来源而臭名昭著;将其视为 shell 脚本的 W3Schools。考虑将 bash-hackers.org 或 Wooledge wiki 作为维护准确性的替代方案。