十、Linux shell编程条件判断、流程控制

sort [选项] 文件名
-f 忽略大小写
-n 以数值型进行排序,默认使用字符串排序
-r	反向排序
-t	指定分隔符
-k n[,m]	按照指定字段范围排序。从第n字段开始,m字段结束
sort /etc/passwd

wc [选项] 文件名
-l 只统计函数
-w 统计单词数
-m 统计字符数


1 条件判断:
在这里插入图片描述
test -e canshu1.sh
echo $? 若输出0,说明文件存在
[ -e canshu1.sh ]
echo $? 若输出0,说明文件存在

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 流程控制

if语句
单分支if条件语句

if [条件判断式] ; then
	程序
fi
或者
if [条件判断式] 
	then
		程序
fi

例子:
当/dev/sda1已用容量超过10就发出警告
///////////////////////////////////////
#!/bin/bash
rate=$( df -h | grep "/dev/sda1" | awk '{print $5}' | cut -d "%" -f 1 )
if [$rate -ge 10]
	then
	echo "warning"
fi
//////////////////////////////////////

双分支if条件语句

if [条件判断式] 
	then
		程序
	else
		程序
fi

多分支if条件语句

if [条件判断式] 
	then
		程序
	elif [条件判断式] 
		then
		  	程序
		else
			程序
fi

case语句

case $变量名 in
	"值一")
		程序段1
		::
	"值二")
		程序段2
		::
	*)
		程序段3
		::
esac

for语句

for 变量 in 值1 值2 值3...
	do 
		程序
	done
例子:
for i in 1 2 3 4 5 6
	do 
		echo $i
	done

read -p "input a number" -t 20 -n 3 num  //输入小于等于3位的数
s=0
for ((i=1;i<=$num;i=i+1))    //要用双括号
	do
		s=$(($s+$i))
	done

while循环

while [ 条件判断式 ]
	do 
		程序
	done

until循环

until [ 条件判断式 ]  //条件不成立执行循环,成立则退出循环
	do 
		程序
	done

猜你喜欢

转载自blog.csdn.net/ywh15387127537/article/details/88540694