shell学习4

一.循环结构

1.for循环

for每次从值集合中取一个值赋值给变量

for 变量 in 值集合
do
	执行命令
done

2.while循环

while首先进行条件测试,如果传回值为0,则进入循环,否则不进入循环

while 条件测试
do
	执行命令
done

3.until语句

until条件测试结果为假(即传回值不为0),则进入循环

until 条件测试
do
	执行命令
done

4.循环控制

命令说明
break nn表示跳出循环的次数,没有n则跳出整个循环
continue nn表示退到第n层继续循环,没有n则跳过本次循环进入下次循环
shift将参数列表中的数据左移指定次数,最左端的参数删除

二.条件结构

1.条件测试语法

方法说明
test 测试表达式test命令与测试表达式之间至少需要一个空格
[ 测试表达式 ]中括号与测试表达式之间至少需要一个空格
[[ 测试表达式 ]]双中括号测试表达式之间至少需要一个空格,支持正则表达式,也支持通配符
((测试表达式))不需要空格,常用于整数对比

2.符号说明

符号说明
$(())整数运算
${}变量的原形,用于限定变量名称的范围,支持通配符
()子shell中执行
{}在当前shell中执行,大括号左边需要有空格,右边需要添加上 ; 符号

3.文件测试表达式

参数 文件说明
-d 文件文件存在且目录则为真
-f文件存在且为普通文件则为真
-e只要文件存在则为真
-s文件存在且大小不为0则为真
-r文件存在且可读则为真
-w文件存在且可写则为真
-x文件存在且可执行则为真
-L文件存在且为链接文件则为真
f1 -nt f2文件f1比文件f2新则为真
f1 -ot f2文件f1比文件f2旧则为真

4.字符串测试表达式

字符串比较需要在字符串上添加上引号

参数说明
-z如果字符串长度为0则为真
-n如果字符串长度大于0则为真
sl如果字符串不是空字符串则为真
=或==如果两字符串相等则为真,前后需要有空格
!=如果两个字符串不相等则为真
>按字典顺序前字符串在后字符串之前,则为真
<按自定顺序前字符串在后字符串之后,则为真

5.整数操作符

在[]和test中使用在[[]]和(())中使用说明
-eq==或=等于
-nq!=不等于
-gt>大于
-ge>=大于等于
-lt<小于
-le<=小于等于

6.逻辑操作符

在[]和test中使用在[[]]和(())中使用说明
-a&&
-o||

7.if语句

1.单分支if条件语句

if [ 条件表达式 ];then
	执行语句
fi

2.双分支if条件语句

if [ 条件表达式 ];then
	执行语句
else
	条件不成立时执行 
fi

3.多分支语句

if [ 条件判断1 ]
	then
	执行语句
elif [ 条件判断2 ]
	then
	执行语句
else
	执行语句
fi

8.case语句

case 变量 in
	值1)
		执行语句
		;;
	值2)
		执行语句
		;;
	*)
		当变量的值不和以上匹配则执行该语句
esac

搞钱的第十六天,加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值