首页 > 系统相关 >Day 3: Shell条件语句和循环

Day 3: Shell条件语句和循环

时间:2023-07-21 13:44:26浏览次数:39  
标签:语句 case Shell 代码 echo 循环 条件 Day

学习目标学习内容1. 条件语句if语句case语句2. 循环结构for循环while循环3. 练习任务大树哥个人信息

学习目标

  • 学习Shell中的条件语句,如if语句和case语句。
  • 理解循环结构,如for循环和while循环。
  • 练习编写脚本,包括条件判断和循环执行。

学习内容

今天我们将学习Shell中的条件语句和循环结构,这些是编写脚本时非常有用的控制结构。

1. 条件语句

if语句

if语句用于根据条件判断执行不同的代码块。其基本语法如下:

1if [ condition ]; then
2    # 代码块1
3
4else
5    # 代码块2
6fi

在条件语句中,condition是一个用于判断的条件表达式,如果条件成立,则执行代码块1;否则执行代码块2。

case语句

case语句用于根据不同的值执行不同的代码块。其基本语法如下:

 1case variable in
2    pattern1)
3        # 代码块1
4        ;;
5
6    pattern2)
7        # 代码块2
8        ;;
9    *)
10        # 默认代码块
11        ;;
12esac

在case语句中,variable是需要匹配的变量,根据匹配的模式执行相应的代码块。pattern1pattern2等是匹配模式,;;用于表示代码块的结束。

2. 循环结构

for循环

for循环用于遍历一系列值,并对每个值执行一组语句。其基本语法如下:

1for variable in values; do
2    # 代码块
3done

在for循环中,variable是用于迭代的变量,values是需要遍历的值列表,可以是固定的值或是通配符。

while循环

while循环用于根据条件重复执行一组语句。其基本语法如下:

1while condition; do
2    # 代码块
3done

在while循环中,condition是一个用于判断的条件表达式,如果条件成立,则重复执行代码块,直到条件不再成立。

3. 练习任务

 1# 使用if语句判断数字大小
2num1=10
3num2=20
4
5if [ $num1 -gt $num2 ]; then
6    echo "$num1 is greater than $num2"
7else
8    echo "$num1 is less than or equal to $num2"
9fi
10
11# 使用case语句判断星期几
12day=3
13
14case $day in
15    1)
16        echo "Monday"
17        ;;
18    2)
19        echo "Tuesday"
20        ;;
21    3)
22        echo "Wednesday"
23        ;;
24    4)
25        echo "Thursday"
26        ;;
27    5)
28        echo "Friday"
29        ;;
30    6)
31        echo "Saturday"
32        ;;
33    7)
34        echo "Sunday"
35        ;;
36    *)
37        echo "Invalid day"
38        ;;
39esac
40
41# 使用for循环遍历数组并打印
42fruits=("Apple" "Banana" "Orange" "Mango")
43
44for fruit in "${fruits[@]}"; do
45    echo "I like $fruit"
46done
47
48# 使用while循环计数并打印
49count=1
50
51while [ $count -le 5 ]; do
52    echo "Count: $count"
53    count=$((count+1))
54done

继续加油!明天我们将继续学习更多关于Shell编程的知识。

大树哥个人信息

  • 网名:大树哥
  • 8年以上数据库中间件经验,专注于数据库中间件运维,Oracle、MySQL、Weblogic、WebSphere、Tomcat、Nginx等;
  • Oracle 19c OCP,软考数据系统工程师,系统规划与管理师高级等认证
  • 微信公众号: AI智能提效开发运维

标签:语句,case,Shell,代码,echo,循环,条件,Day
From: https://www.cnblogs.com/weixuexi/p/17571066.html

相关文章

  • java学习day01
    Day01java笔记1.什么是程序程序:为了让计算机执行某些操作或者解决某个问题而编写的有序集合计算机语言(1)低级语言机器语言只认识01汇编语言(2)高级语言面向过程语言:c语言面向对象语言:java,python,c#等2.人机交互控制台常用命令:(1)切换盘符D:+回车(2)dir 查......
  • CentOS-Mysql 自动备份-shell 脚本
    功能说明:在服务器A上,每天自动运行一个shell脚本;备份数据库db;然后将sql文件放到另一台服务器B上。新建文件:mysql_backup.sh内容是:#!/bin/bashHOST=127.0.0.1USERNAME=rootPASSWORD=rootDBNAME=adverserverHost=123.123.123.123DATE=$(date+%Y%m%d)OLDDATE=$(date-d......
  • Linux shell | 竖线管道符号放变量 无法访问'|': 没有那个文件或目录 无法访问'wc':
    工作中遇到一个实际问题,文本编码转换。原始命令:catutf8.log|iconv-c-fUTF-8-tGBK|teegbk.log因为某种(方便修改、方便替换)原因,想把“|iconv-c-fUTF-8-tGBK|”命令这段,想放到变量里,做到一处修改处处生效的效果。pipe="|iconv-c-fUTF-8-tGBK|"catutf......
  • PHP echo 和 print 语句
    在PHP中,有两种基本的输出方法:echo和print。PHPecho和print语句echo和print之间的差异:echo-能够输出一个以上的字符串print-只能输出一个字符串,并始终返回1提示:echo比print稍快,因为它不返回任何值。PHPecho语句echo是一个语言结构,有无括号均可使用:e......
  • mssql的xp_cmdshell扩展
    introductionxp_cmdshellextension:storedprocedureexecutescommandstringasanoperatingsystemcommandinshell andretirevealloutputastextlinesdetermineifcurrentmssqlhasxp_cmdshellareturnvalueof1indicatestheextensionisxp_cmdsh......
  • 调用mysql语句
    如何调用MySQL语句作为一名经验丰富的开发者,我很乐意教会你如何调用MySQL语句。下面我将按照一定的流程介绍详细的步骤,并给出相应的代码示例。步骤概述下表展示了调用MySQL语句的整个流程:步骤描述1连接数据库2创建游标对象3执行SQL语句4获取执行结果5......
  • 2-2 在不使用运算符&&或||的条件下编写一个与上面的 for 循环语句等价的循 环语句
    ArchlinuxGCC13.1.1 20230429 点击查看代码#include<stdio.h>intmain(){while((c_in=getchar())!='\n'){if(c_in!=EOF){if(i<lim-1){s[i]=c_in;++i;......
  • c++ day 13
    今天来认识c++里面的迭代器C++迭代器(Iterator)是一种用于遍历容器(如数组、向量、链表等)中元素的抽象概念。它允许你通过简单的接口在容器中移动,并访问容器中的元素,而无需了解底层数据结构的细节。迭代器提供了一种统一的方式来访问不同类型容器的元素,使得代码更加灵活和可复用。......
  • 第四章 流程控制语句
    1.分支结构1.1分支结构的概念当需要进行条件判断并做出选择时,使用分支结构。1.2if分支结构if语句格式if(条件表达式){语句块;}判断条件表达式是否成立​ =>若成立,则执行语句块;​ =>若不成立,则跳过语句块;/*编程使用if分支结构模拟网吧上网......
  • week4 day5
    方法也可以抽象 具有抽象方法的类必须是抽象类 抽像的方法必须实现在继承树结构下的第一个具体类必须实现出所有的抽象方法复习一下方法重载:名称相同但是参数不同:1返回类型可以不同2不能只改变返回类型3可以更改存取权限publicintaddnums(inta,intb)puibicdoub......