if 语句格式
if 条件;then
Command
else
Command
fi 别忘了这个结尾
If语句忘了结尾fi
test.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式
当出现2次以上的判断时
if 条件;then
条件满足输出
elif
条件满足输出
elif
条件满足输出
else
以上条件都不满足输出
fi
循环
while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件
while 条件
do
需要执行的过程
done #返回条件进行判定
其中有两个停止命令 break和continue
break是从while直接停止循环 进行while之后的事情
continue是从while现在运行的这一循环停止,从while开始新的循环
for循环
for 变量 in {1..200} #变量从1开始循环到200
do
循环体内执行的事情
done #结束
循环语句和判断语句的3个简单例子
用循环写一个9*9乘法口诀
for ((i=1;i<=9;i++)) do for ((j=1;j<=i;j++)) do echo -n "$i*$j=$[j*i] " done echo done
用循环写一个网段内可用ip
#!/bin/bash i=1 while ((i<=253)) do ping -c1 192.168.16.$i >> /dev/null if (( $? != 0 ));then echo "192.168.16.$i">> /test/ping echo "good ping" fi i+=1 done
用循环和判断模拟一个cmd
#!/bin/bash username='wyd' passwd='1234' hhh=true while $hhh do read -p 'please int username: ' user read -p 'please int passwd: ' pswd if [[ $username == $user ]] && [[ $passwd == $pswd ]];then echo ' login right ' while $hhh do read -p '>>' cmd if [[ $cmd = 'quit' ]];then hhh=false break else $cmd fi done fi done