shell glob 模式问题

shell glob pattern trouble

我正在尝试打印出与输入相对应的输出。输入将是一个数字,输出将以英文打印出数字。我在 unix 中遇到 syntax/regular 表达式的问题。如果我用 277 的输入来 运行 这个,那么只有 "one-hundred" 作为输出。它应该在哪里 "one-hundred twenty." 它有什么问题吗..?我到处都看了,似乎是对的。

我知道它还没有完成,但它困扰着我。有小费吗?

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

正则表达式语法是 =~ 而不是 == 所以你的 if 需要是 [[ "" =~ 12[0-9] ]] 虽然不是每个 shell 都支持该语法