bash case语句中的复合模式
我无法在我的case语句中获得中所述的复合模式以进行匹配:bash case语句中的复合模式,bash,Bash,我无法在我的case语句中获得中所述的复合模式以进行匹配: i=33; case $i in *([A-Za-z0-9]) ) echo "alphanumeric";; * ) echo "bah";; esac; 我希望上面的脚本显示字母数字,但它失败的原因是: bash: syntax error near unexpected token `(' 知道怎么回事吗?试着像这样打开extglob shell选项: shopt -s extglob 然后可以使用扩展模式匹配运算符: i=
i=33; case $i in *([A-Za-z0-9]) ) echo "alphanumeric";; * ) echo "bah";; esac;
我希望上面的脚本显示字母数字,但它失败的原因是:
bash: syntax error near unexpected token `('
知道怎么回事吗?试着像这样打开extglob shell选项:
shopt -s extglob
然后可以使用扩展模式匹配运算符:
i='33'; case $i in *([A-Za-z0-9]) ) echo "alphanumeric";; * ) echo "bah";; esac;
从手册页:
extglob-如果已设置,则启用上面在路径名扩展下描述的扩展模式匹配功能
试着像这样打开extglob shell选项:
shopt -s extglob
然后可以使用扩展模式匹配运算符:
i='33'; case $i in *([A-Za-z0-9]) ) echo "alphanumeric";; * ) echo "bah";; esac;
从手册页:
extglob-如果已设置,则启用上面在路径名扩展下描述的扩展模式匹配功能
很有魅力,谢谢!它从一开始就在我眼前…很有魅力,谢谢!从一开始就在我眼前。。。