shell脚本之if多分支和case分支语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、多分支if语句

由于if 语句可以根据测试结果的成立、不成立分别执行操作,所以能够嵌套使用,进行多次判断。

if 条件测试操作 1
then
命令序列 1
elif 条件测试操作 2
then
命令序列 2
else
命令序列 3
fi

shell脚本之if多分支和case分支语句

二、case分支语句

case 语句主要适用于以下情况:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况与多分支的 if 语句非常相似,只不过 if 语句需要判断多个不同的条件,而 case 语句只是判断一个变量的不同取值。
case 分支语句的语法结构如下所示。

case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……

shell脚本之if多分支和case分支语句使用 case 分支语句时,有几个值得注意的特点如下所述:

case 行尾必须为单词“in”,每一模式必须以右括号“)”结束
双分号“;;”表示命令序列的结束
模式字符串中,可以用方括号表示一个连续的范围,如“[0-9]”;还可以用竖杠符号“|”表示或,如“A|B”
最后的“*)”表示默认模式,其中的 *相当于通配符.

三、实操

1、系统控制服务脚本,控制服务的启动、重启、停止。

建立vim ww.sh

shell脚本之if多分支和case分支语句
shell脚本之if多分支和case分支语句

2、根据学生的成绩,判断优秀、良好、和不及格几个等级。

[root@localhost ~]# vim cj.sh

shell脚本之if多分支和case分支语句
shell脚本之if多分支和case分支语句

3.删除家目录

vim.fw..shi

shell脚本之if多分支和case分支语句
shell脚本之if多分支和case分支语句

case 分支语句的语法结构如下所示。

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

剪刀石头布 电脑与人

#!bin/bash
game=(石头 剪刀 布)
num=$[RANDOM%3]
computer=${game[$num]}
#通过随机数获取计算机的出拳
#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是3中不同的可能

echo  "请根据下列提示选择您的出拳手势"
echo  "1.石头"
echo  "2.剪刀"
echo  "3.布"

read   -p   "请选择1-3:"   person
#提示用户出拳,根据提示出拳即可
#再通过case语句判断用户输入的值是1还是2还是3,根据不同的输入判断不同的结果
case   $person   in
1)
        if  [ $num -eq  0 ]; then
               echo  "平局"
        elif  [ $num -eq  1 ]; then
               echo  "你赢"
        else
               echo  "计算机赢"
        fi ;;
2)
        if  [ $num -eq  0 ]; then
               echo  "计算机赢"
        elif  [ $num -eq  1 ]; then
               echo  "平局"
        else
               echo  "你赢"
        fi ;;
3)
        if  [ $num -eq  0 ]; then
               echo  "你赢"
        elif  [ $num -eq  1 ]; then
               echo  "计算机赢"
        else
               echo  "平局"
        fi ;;
*)
        echo  "必须输入1-3的数字"
esac
上一篇:buuctf 被嗅探的流量


下一篇:关于简易的增删改查