检查输入是否是元音

时间:2014-11-04 15:56:37

标签: linux bash scripting

我开始使用bash脚本并实现我在其他编程语言中学习的大部分内容来进行bash。我必须检查用户是否输入了元音字符。我想出了这个:

#!/bin/bash
read -p "Enter something: " char
if [[ $char -eq [AEIOUaeiou]* ]]; then
    echo "vowel"
else
    echo "consonant"
fi  

但是当我在IdeOne上运行它时,我收到错误:

prog.sh: line 3: [[: [AEIOUaeiou]*: syntax error: operand expected (error token is "[AEIOUaeiou]*")  

有人可以告诉我这里有什么问题以及如何纠正吗?

我知道其他不那么干净的方法是将多个条件||组合在一起。我试图避免这种情况。

1 个答案:

答案 0 :(得分:4)

您需要使用==运算符进行此匹配:

#!/bin/bash
read -p "Enter something: " char
if [[ "$char" == *[AEIOUaeiou]* ]]; then
    echo "vowel"
else
    echo "consonant"
fi 

-eq - 用于匹配数字

根据man test

   INTEGER1 -eq INTEGER2
          INTEGER1 is equal to INTEGER2