shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)

目录

一、语句

一、条件语句

一、以用户为例演示

一、显示当前登录系统的用户信息

 二、显示有多少个用户

二、单分支if

一、输入脚本

 二、验证结果

三、双分支if

一、输入脚本

二、验证结果 

四、多分支if

一、输入脚本

 二、验证

二、循环语句

一、shell版本的循环语句

二、C语言版本

三、举例

三、输出一个矩形

四、在矩形的基础上显示一个三角形

 五、输出九九乘法表

 六、猜价格(小游戏)

一、脚本配置

 二、验证

一、显示结果(第一种)

二、显示结果(第二种)


一、语句

一、条件语句

一、以用户为例演示

一、显示当前登录系统的用户信息

w命令

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第1张图片

 二、显示有多少个用户

w | wc -l

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第2张图片

 显示有7个用户

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第3张图片

前两个是固定标题,从第三个开始才是登录用户,所以要统计数量需要

命令:echo $[$(w | wc -l) -2]

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第4张图片

显示结果

二、单分支if

语法:if condition;then command

一、输入脚本

#!/bin/bash
#test
#mpy
#单分支if
user_num=$[$(w | wc -l) - 2]
if [ $user_num -gt 3 ];then
        echo "用户过多登录"
fi

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第5张图片
shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第6张图片

 二、验证结果

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第7张图片

三、双分支if

语法:if condition;then command;else command

一、输入脚本

#多分支if
if [ $user_num -gt 5 ];then
        echo "登录用户过多"
else
        echo "登录用户适中"
fi
shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第8张图片
 

二、验证结果 

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第9张图片

 shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第10张图片

四、多分支if

语法:if condition;then command;elif condition;then command;elif

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第11张图片

#多分支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

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第12张图片

在这段脚本中,使用了read命令来获取用户输入的成绩,并存储在变量score中

使用if语句判断输入的成绩是否小于0或大于100,如果是,则打印错误信息并重新运行脚本

90-100的区间是A

80-89 的区间是B

70-79的区间是C

其余的是D

 二、验证

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第13张图片

二、循环语句

一、shell版本的循环语句

for i in 取值范围;do
        command
done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第14张图片

二、C语言版本

for ((i=初始值;condition;i++));do command done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第15张图片

 for ((i=初始值;condition;i--));do command done

则是递减1

三、举例

for i in {1..10};do
        echo $i
done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第16张图片

可以在里面嵌入if语句,满足条件时数数,不满足则不数数 

for i in {1..10};do
        if [ $(($i % 2)) -eq 0 ];then
                echo $i
        fi
done

等于0的时候输出,不等于0则不管

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第17张图片

验证结果

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第18张图片

只显示奇数

for i in {1..10};do
        if [ $(($i % 2)) -ne 0 ];then
                echo $i
        fi
done
 

因为除2 不是0就是1

验证

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第19张图片

 C语言的写法

for ((i=1;i<=10;i=i+2));do
        echo $i
done

每次递增两个

验证

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第20张图片

当等于i=i+3的时候从1开始每次加三个 

 shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第21张图片

 for ((i=2;i<=10;i=i+2));do
        echo $i
done

显示只有偶数

从2开始每次递增2

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第22张图片

三、输出一个矩形

#!/bin/bash
#test
#mpy
for ((i=1;i<=10;i++));do
        for ((j=1;j<=10;j++));do
                echo -n "  *"
        done
        echo
done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第23张图片
shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第24张图片

 赋予权限   chmod +x jx.sh

./jx.sh

成功获得一个矩形

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第25张图片

四、在矩形的基础上显示一个三角形

 #!/bin/bash
#test
#mpy
for ((i=1;i<=10;i++));do
        for ((j=1;j<=i;j++));do
                echo -n "  *"
        done
        echo
done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第26张图片

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第27张图片

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第28张图片

 五、输出九九乘法表

#!/bin/bash
#test
#mpy
for ((i=1;i<10;i++));do
        for ((j=1;j<=i;j++));do
                echo -n -e "$j x $i = $[i*j]\t"
        done
        echo
done

这是一个Bash脚本

  1. #!/bin/bash:这是一个shebang,告诉系统要使用bash解释器来运行脚本。

  2. #test 和 #mpy:这是注释行,用于说明脚本的用途和功能。

  3. for ((i=1;i<10;i++)):这是一个外循环的for循环,它从1开始迭代,每次增加1,直到i的值小于10为止。

  4. for ((j=1;j<=i;j++)):这是一个嵌套在外循环中的内循环的for循环,它从1开始迭代,每次增加1,直到j的值小于等于i为止。

  5. echo -n -e "$j x $i = $[i*j]\t":这是一个echo语句,用于打印乘法表的一行。其中$j$i是变量,代表内外循环的迭代值,$[i*j]表示i和j的乘积。

  6. echo:这是一个空的echo语句,用于打印换行符,以便在打印完一行乘法表后换行。

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第29张图片 

显示结果

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第30张图片

 六、猜价格(小游戏)

一、脚本配置


#!/bin/bash
#test
#mpy
rand=$[$RANDOM % 100]
times=0
while true
do
        read -p "请输入你要猜测的价格: " price
        let times++
        if [ $price -eq $rand ];then
                if [ $times -eq 1 ];then
                        echo "你猜对了,真NB,一次就中"
                elif [ $times -lt 7 ];then
                        echo "你猜对了,一共猜测了$times次! "
                else
                        echo "挑战失败! "
                        echo "正确的价钱是$rand"
                fi
                exit 0
        elif [ $price -gt $rand ];then
                echo "猜大了! "
        else
                echo "猜小了! "
        fi
done

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第31张图片

 shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第32张图片

 二、验证

一、显示结果(第一种)

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第33张图片

二、显示结果(第二种)

shell脚本语句(画矩形、三角形、乘法表和小游戏)(#^.^#)_第34张图片

你可能感兴趣的:(linux,运维,服务器)