case語句是用來實現(xiàn)多個if..else的功能的,但是用法上有些不同,學過其他語言的人都知道,case中要對變量進行匹配,如果有一個匹配成功的話就執(zhí)行相應的語句。shell編程中的case語句也是這個意思,case會對字符串進行匹配,是從第一個模式開始的,如果有一個模式已經(jīng)匹配成功的話,其他的模式就不會再進行匹配了,下面看下代碼中的用法吧。
#!/bin/shecho "please yes or no"read input#case語句的基本用法,記住每一個匹配后邊都有雙分號,代表本模式的結(jié)束和下一個#模式的開始,在進行通配符匹配的時候不要加雙引號case "$input" inyes ) echo "yes";;y* ) echo "y*";;y ) echo "y";;no ) echo "no";;n ) echo "n";;* ) echo "default";;esac#合并匹配模式,case的匹配只能匹配一條,想要做到匹配多個結(jié)果使用如下的方式case "$input" iny* | Y* ) echo "yes";;n* | N* ) echo "no";;* ) echo "default";;esac#一種更屌的匹配case "$input" in[yY][eE][sS] | [yY] ) echo "yes";;[nN] | [nN][oO] ) echo "no";;* ) echo "default"echo "end"esacexit 0
新聞熱點
疑難解答