2015-02-07 25 views
0

我有如下大写或小写字符检查使用if条件编写,如何使用case语句做到这一点?Bash大写/小写检查到case语句

char="" 
echo "Type char:" 
read char 

if [ $char = ${char^} ]; then 
echo "upper case" 
elif [ $char = ${char,,} ]; then 
echo "lower case" 
else 
echo "neither" 
fi 

回答

2

例如:

[STEP 101] $ cat foo.sh 
shopt -s extglob 
read -p "Type char: " ch 
case $ch in 
    +([[:lower:]])) echo lowercase;; 
    +([[:upper:]])) echo uppercase;; 
    *)    echo neither;; 
esac 
[STEP 102] $ ./foo.sh 
Type char: abc 
lowercase 
[STEP 103] $ ./foo.sh 
Type char: ABC 
uppercase 
[STEP 104] $ ./foo.sh 
Type char: aBc 
neither 
[STEP 105] $ 

看看Bash's manualshopt -s extglobpattern matching