我试图打印出与输入相对应的输出。输入将是一个数字,输出将打印出英文数字。我在unix中遇到语法/正则表达式问题。如果我以277的输入运行它,那么只有"一百"作为输出。应该在哪里"一百二十。"它有什么问题......?我到处都看,似乎没错。
我知道它尚未完成,但它让我感到烦恼。有小费吗?
case "$1" in
1[0-9][0-9]) # 100's
echo one-hundred
if [ "$1" == 12[0-9] ]
then
echo twenty
fi
;;
答案 0 :(得分:1)
正则表达式语法是=~
而不是==
所以你的if必须是[[ "$1" =~ 12[0-9] ]]
,尽管不是每个shell都支持这种语法