在 ksh 中匹配正则表达式

rah*_*hmu 7 scripting ksh shell-script regular-expression

我希望在 KSH 中做这样的事情:

if (( $var = (foo|bar)[0-9]*$ )); then
    print "variable matched regex"
fi
Run Code Online (Sandbox Code Playgroud)

有可能吗?

作为记录,我在Version M-11/16/88iSolaris 10 机器上使用 Ksh 。

Gil*_*il' 8

Ksh 具有正则表达式,但不采用通常的语法(不在Solaris 10的版本中)。

if [[ $var = *@(foo|bar)*([0-9]) ]]; then …
Run Code Online (Sandbox Code Playgroud)

手册中,在“条件表达式”下查看方括号内的内容,在“文件名生成”下查看模式语法。