就类似于其他语言中的case语句
用法
要点
第一 开始结束 case esac 正好相反
第二 每段程序段需要用 两个;号结束。
例:
1 case ${1} in 2 "hello") 3 echo "Hello, how are you ?" 4 ;; 5 "") 6 echo "You must input parameters,ex>{${0} som word}" 7 ;; 8 *) 9 echo "Usage ${0} {hello}" 10 ;; 11 esac ~
function方法
跟其他语言的方法相似
传参数的时候用的是默认参数$1 $2 $3 等等
例
function print () { echo $1 } print 1
他会自动将1带入到print这个函数中
while do done 当XXXXX的时候,执行程序
用法
例:
1 while [ "${yn}" != "yes" -a "${yn}" != "YES" ] 2 do 3 read -p "please input yes/YES to stop this program:" yn 4 done 5 echo "OK YOU INPUT THE CORRECT ANSWER."
判断式的符号必须左右都有空格,再次强调再次强调
until do done 先执行程序,直到XXX的时候停止
用法
例
1 #while [ "${yn}" != "yes" -a "${yn}" != "YES" ] 2 until [ "${yn}" == "yes" -o "${yn}" == "YES" ] 3 do 4 read -p "please input yes/YES to stop this program:" yn 5 done 6 echo "OK YOU INPUT THE CORRECT ANSWER." ~
1-100累加
书中用的是while循环,我用的是until do done来写的测试例
1 #!/bin/bash 2 total=0 3 input=1 4 until [ "${input}" -gt "100" ] 5 do 6 7 total=$((${total}+${input})) 8 input=$((${input}+1)) 9 done 10 echo "${total}"
书中还有好几个例子,明天在写,还有书后面的练习题,好多。。。今天有点累,明天继续。
for i in list do
done