【发布时间】:2011-07-12 14:10:18
【问题描述】:
为什么下面的 bash 脚本只打印出variable worked?
#! /bin/bash
foo=baaz
regex='ba{2}z'
if [[ $foo =~ 'ba{2}z' ]]; then
echo "literal worked"
fi
if [[ $foo =~ $regex ]]; then
echo "variable worked"
fi
bash 文档中是否有说明 =~ 运算符仅适用于变量,而不适用于文字?此限制是否适用于任何其他运营商?
【问题讨论】:
-
如果相关,我在 Natty Narwhal 上运行
GNU bash, version 4.2.8(1)-release (x86_64-pc-linux-gnu)。
标签: regex string bash variables literals