【发布时间】:2014-10-29 18:25:36
【问题描述】:
Ksh 正则表达式问题(我可以用 sh 轻松完成类似的脚本)。
问题很简单:当我尝试在正则表达式中插入 $variable 时,正则表达式失败。 但是当我用它的实际值替换 $variable 时它工作正常。 我需要在 $variable 中使用多个 Ksh 正则表达式,该怎么做?
示例 1 正则表达式的作用是 echo "hourra" :
#!/bin/ksh
file=BEFORE_ONE_AFTER
name="(ONE|TWO)"
if [[ $file = @(BEFORE_(ONE|TWO)_AFTER) ]] ; then
echo "hurra!"
fi
示例 2 正则表达式失败,没有回显:
#!/bin/ksh
file=BEFORE_ONE_AFTER
name="(ONE|TWO)"
if [[ $file = @(BEFORE_${name}_AFTER) ]] ; then
echo "ohde!"
fi
【问题讨论】: