Linux--shell脚本常用循环控制语句

shell脚本常用循环控制语句

1. for语句

1.1 for…do…done(固定循环)

for这种语法,是已经知道要进行几次循环的状态。

for语法:

for 变量名 in con1,con2,con3
do 
	程序段
done

$var 变量在循环工作时,取值分别为:con1,con2,con3

1.2 for…do…done的数值处理

语法:

for((初始值;限制值;执行步阶))
do
	程序段
done

示例如下:

#!/bin/bash
read -p "please input a number,i will count for 1+2+……+your input:" num
交互式输入提示
sum=0
for ((i=1;i<=${num};i++))
do
	sum=$((${sum} + $i))   
done
echo "1+2+……+${num}=${sum}"

${a}表示变量a的值,不引起歧义的情况下可省略{}

2. while语句

语法:

while [condition]
do	
	程序段落 
done
条件成立时执行,直到条件不成立时停止执行。

示例:

#!/bin/bash
  read -p "please input a number" num
sum=0
i=0
while ((i<num)) 
do
((i++))   //let i+=1//i=$[$i+1]//i=$(($i+1))//i=`expr $i+1`
sum=$((${sum}+${i}))
done
echo "1+2+..+${num}=${sum}"

(())使用语法:
用来扩展shell中的算术运算比较和赋值运算。
1.在双括号中可进行逻辑运算,四则运算,可以a++等
2.所有变量前可以不加$
3.运算符和数值之间可以有空格,也可以没有空格,而使用[]时必须保证有空格。
4.内部支持多个表达式,用分号分开。如for((i=1;i<num;i++))
$()两个反点用法:
做变量替换,可以将命令执行结果赋值给变量。
但``可在所有shell运行,$()不能在

[]和test
[]左右括号和其内部数值必须有空格

$(())
计算数学表达式的值

和`表达式`效果相同

3.if语句

3.1 单层,简单条件判断式

if [condition]
then 
	执行语句
fi 

fi 结束if的意思

3.2 多重,复杂条件判断式

if [条件判断式]
then	
	条件成立时执行
else 
	条件不成立时执行
fi

多个条件判断

if [条件一]
then
	条件一成立时执行
elif [条件二]
then
	条件二成立时执行
else
	条件一二均不成立时执行
fi

4. case esac语句

语法:

case $变量名 in
	“第一个变量内容”)
	程序段
	;;
	“第二个变量内容”)
	程序段
	;;
	*)
	程序段
	;;
esac

示例:

#!/bin/bash
Choice()
{
	read -p "plase input your choice:" choice
}
Choice
Case()
{
	case $choice in
	A)
	echo "your choice is A"
	exit 0
	;;
	B)
	echo "your choice is B"
	exit 0
	;;
	*)
	echo "please input your choice A or B!"
	Choice
	Case
	;;
esac
}
Case

如果需要给函数传递变量,则直接在函数名后空格加变量名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值