Shell脚本的基本流程控制

时间:2022-04-20 21:44:44

if else

read -p '请输入分数:' score
if [ $score -lt 60 ]; then
	echo '60分以下'	
elif  [ $score -lt 70 ]; then
	echo '60-70分之间'	
elif  [ $score -lt 80 ]; then
	echo '70-80分之间'
elif [ $score -lt 90 ];	then
	echo '80-90分之间'
else 
	echo '90分以上'
fi

case

read -p '请输入数字' week
week=`date +%w`                                     #当前日期
case $week in
	1)
	echo '周一'
		;;
	2)
	echo '周二'
		;;
	3)
	echo '周三'
		;;
	4)
	echo '周四'
		;;
	5)
	echo '周五'
		;;
	6)
	echo '周六'
		;;
	7)
	echo '周末'
		;;
	*)
	echo '输入有误'
		;;
esac

while

num=5
while [ $num -gt -5 ]; do
	if [ $(($num%2)) -eq 0 ];then
		echo -e "\033[31m${num}\033[0m"			#红色字体
	else
		echo $num
	fi
	num=$(($num-1))
	sleep 1 				                #休眠一秒钟
done						                #跳出循环后的输出
	echo $num

forin  AND  for

for i in `cat users.txt`               #比如在users.txt文件里有很多用户等待创建,默认是换行隔开(在linux里也就是空格)
do
	echo $i
	useradd $i
	echo '123456'|passwd --stdin $i
done
for i in `cat /etc/passwd|awk -F: '{print $i}'`;
do
	echo $i
	echo $i>>users.txt                                                   #把所有的user列表重定向到users.txt
done
for (( i = 0; i < 10; i++ ));
do
	echo $i
	sleep
	if [ $i -eq 5 ]; then 			
		#break 						             #如果到5的时候,停止
		continue     				                     #如果到5的时候,跳过循环
	fi
	useradd usesr$i 					             #创建十个用户
	echo 'passwd' | passwd --stdin user$i
done