Linux笔记06(部分)

# 1、bash解释器 与shell脚本(二) ## (1)流程控制语句 > 通常脚本都是从上至下一股脑的执行,效率是效率,但一旦某条命令执行失败了,那后面的功能全都会受到影响。 if语句格式 ***(1)单分支*** ``` if 条件测试操作 then 命令序列1 else 命令序列2 fi ``` ***(2)多分支*** ``` if 条件测试操作1 then 命令序列1 elif 条件测试操作2 then 命令序列2 else 命令序列3 fi ``` *为了节省时间,我统一在脚本文件中执行:* ``` chmod 700 XXX.sh ``` ***练习1:判断目录是否存在*** 存在不新建目录,不存在新建目录 ``` [root@mmx ~]# clear [root@mmx ~]# cat a.sh #!/bin/bash DIR="/root/nice" if [ ! -d $DIR ] then mkdir -p $DIR fi [root@mmx ~]# ./a.sh [root@mmx ~]# ls anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Videos a.sh Downloads Music Public Desktop happy.txt nice Templates ``` ***练习2:判断主机在线情况*** ``` [root@mmx ~]# cat b.sh #!/bin/bash ping -c 3 -i 0.01 -w 3 $1 &> /dev/null if [ $? -eq 0 ] then echo "Host $1 is on-line" else echo "Host $1 is off-line" fi [root@mmx ~]# ./b.sh 192.168.0.1 Host 192.168.0.1 is on-line [root@mmx ~]# ./b.sh 192.168.0.51 Host 192.168.0.51 is off-line [root@mmx ~]# ``` ***练习3:成绩判断(优秀,良好,及格,不及格,错误)*** ``` [root@mmx ~]# cat c.sh #!/bin/bash read -p "请输入你的成绩:" GRADE if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] then echo " 成绩$GRADE良好 " elif [ $GRADE -ge 60 ] && [ $GRADE -le 85 ] then echo " 成绩$GRADE及格 " elif [ $GRADE -ge 0 ] && [ $GRADE -le 100 ] then echo " 成绩$GRADE不及格 " else echo "成绩$GRADE超出范围" fi [root@mmx ~]# ./c.sh 请输入你的成绩:1001 成绩1001超出范围 [root@mmx ~]# ./c.sh 请输入你的成绩:75 成绩75及格 [root@mmx ~]# ./c.sh 请输入你的成绩:30 成绩30不及格 ``` ## (2)**条件循环语句** > for:确定次数循环 > > while:不确定次数循环 for格式: ``` for 变量名 in 取值列表 do ​ 命令序列 done ``` while格式: ``` while 条件测试语句 do ​ 命令序列 done ```
上一篇:java班级类拓展 两门成绩 子类小组


下一篇:MySQL常用命令记录