shell glob模式麻烦

时间:2015-09-07 03:11:31

标签: unix sh glob

我试图打印出与输入相对应的输出。输入将是一个数字,输出将打印出英文数字。我在unix中遇到语法/正则表达式问题。如果我以277的输入运行它,那么只有"一百"作为输出。应该在哪里"一百二十。"它有什么问题......?我到处都看,似乎没错。

我知道它尚未完成,但它让我感到烦恼。有小费吗?

case "$1" in
1[0-9][0-9]) # 100's
    echo one-hundred
    if [ "$1" == 12[0-9] ]
    then
        echo twenty
    fi
;;

1 个答案:

答案 0 :(得分:1)

正则表达式语法是=~而不是==所以你的if必须是[[ "$1" =~ 12[0-9] ]],尽管不是每个shell都支持这种语法