Shell 流程控制学习笔记

Shell 作为一种常见的脚本语言,在编写脚本时需要用到流程控制语句来实现条件判断和循环等功能。本文将介绍 Shell 编程中常用的三种流程控制语句:if、for 和 while,并给出相应的实例。

if 语句

if 语句用于根据一个条件执行不同的操作。它的语法如下:

Copy Code
if condition then command1 elif condition2 then command2 else command3 fi

其中,condition 可以是任何返回状态码的命令或测试表达式,如果它的退出状态码为0,则执行 command1;否则,如果存在 elif 语句,则测试 condition2 是否满足,如果满足则执行 command2,反之则执行 command3。

以下是一个例子,它判断输入的数字是否大于等于10:

Copy Code
#!/bin/sh echo "请输入一个数字:" read num if [ $num -ge 10 ] then echo "$num 大于等于 10" else echo "$num 小于 10" fi

for 循环

for 循环用于对列表中的每个元素执行相同的操作。它的语法如下:

Copy Code
for variable in list do command done

其中,list 可以是任何由空格分隔的序列,包括文件名、命令输出等,variable 是循环时用来存储当前元素的变量名。

以下是一个例子,它输出当前目录下所有扩展名为 .sh 的文件名:

Copy Code
#!/bin/sh for file in *.sh do echo "$file" done

while 循环

while 循环用于重复执行一段代码,直到指定的条件不成立为止。它的语法如下:

Copy Code
while condition do command done

其中,condition 是任何返回状态码的命令或测试表达式,如果它的退出状态码为0,则执行 command。

以下是一个例子,它每隔 1 秒钟输出一次当前时间,共输出 5 次:

Copy Code
#!/bin/sh count=0 while [ $count -lt 5 ] do date sleep 1 count=$((count+1)) done

以上就是 Shell 编程中常见的流程控制语句 if、for 和 while 的介绍和实例。希望对你的学习有所帮助!