Shell 流程控制学习笔记
Shell 作为一种常见的脚本语言,在编写脚本时需要用到流程控制语句来实现条件判断和循环等功能。本文将介绍 Shell 编程中常用的三种流程控制语句:if、for 和 while,并给出相应的实例。
if 语句
if 语句用于根据一个条件执行不同的操作。它的语法如下:
Copy Codeif 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 Codefor variable in list
do
command
done
其中,list 可以是任何由空格分隔的序列,包括文件名、命令输出等,variable 是循环时用来存储当前元素的变量名。
以下是一个例子,它输出当前目录下所有扩展名为 .sh 的文件名:
Copy Code#!/bin/sh
for file in *.sh
do
echo "$file"
done
while 循环
while 循环用于重复执行一段代码,直到指定的条件不成立为止。它的语法如下:
Copy Codewhile 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 的介绍和实例。希望对你的学习有所帮助!