【发布时间】:2022-08-12 01:01:50
【问题描述】:
以下代码
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 建议这应该有效。
重击版本 3.2.39。
【问题讨论】:
-
ABS 作为不准确(或者,在更好的日子里,仅仅是误导性的)指导的来源而臭名昭著;将其视为 shell 脚本的 W3School。考虑将 bash-hackers.org 或 wooledge wiki 作为替代品,以确保准确性。