Day 3: Shell条件语句和循环

学习目标学习内容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智能提效开发运维
posted @ 2023-07-21 13:32  大树的BLOG  阅读(16)  评论(0编辑  收藏  举报