一、语句
一、条件语句
一、以用户为例演示
一、显示当前登录系统的用户信息
w命令
二、显示有多少个用户
w | wc -l
显示有7个用户
前两个是固定标题,从第三个开始才是登录用户,所以要统计数量需要
命令:echo $[$(w | wc -l) -2]
显示结果
二、单分支if
语法:if condition;then command
一、输入脚本
#!/bin/bash
#test
#mpy
#单分支if
user_num=$[$(w | wc -l) - 2]
if [ $user_num -gt 3 ];then
echo "用户过多登录"
fi
二、验证结果
三、双分支if
语法:if condition;then command;else command
一、输入脚本
#多分支if
if [ $user_num -gt 5 ];then
echo "登录用户过多"
else
echo "登录用户适中"
fi
二、验证结果
四、多分支if
语法:if condition;then command;elif condition;then command;elif
#多分支if 成绩判断
一、输入脚本
#A:90~100;B:80~89;C:70~79;D:0~69
read -p "请输入要查询的成绩: " score
if [ $score -lt 0 -o $score -gt 100 ];then
echo "输入错误,请输入0~100的数字"
$0
else
if [ $score -ge 90 -a $score -le 100 ];then
echo "A"
elif [ $score -ge 80 -a $score -le 89 ];then
echo "B"
elif [ $score -ge 70 -a $score -le 79 ];then
echo "C"
else
echo "D"
fi
fi
在这段脚本中,使用了read命令来获取用户输入的成绩,并存储在变量score中
使用if语句判断输入的成绩是否小于0或大于100,如果是,则打印错误信息并重新运行脚本
90-100的区间是A
80-89 的区间是B
70-79的区间是C
其余的是D
二、验证
二、循环语句
一、shell版本的循环语句
for i in 取值范围;do
command
done
二、C语言版本
for ((i=初始值;condition;i++));do command done
for ((i=初始值;condition;i--));do command done
则是递减1
三、举例
for i in {1..10};do
echo $i
done
可以在里面嵌入if语句,满足条件时数数,不满足则不数数
for i in {1..10};do
if [ $(($i % 2)) -eq 0 ];then
echo $i
fi
done
等于0的时候输出,不等于0则不管
验证结果
只显示奇数
for i in {1..10};do
if [ $(($i % 2)) -ne 0 ];then
echo $i
fi
done
因为除2 不是0就是1
验证
C语言的写法
for ((i=1;i<=10;i=i+2));do
echo $i
done
每次递增两个
验证
当等于i=i+3的时候从1开始每次加三个
for ((i=2;i<=10;i=i+2));do
echo $i
done
显示只有偶数
从2开始每次递增2
三、输出一个矩形