1. 程式人生 > >Shell腳本的基本流程控制

Shell腳本的基本流程控制

false 流程控制 ash lba -s print 所有 循環 數字

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

Shell腳本的基本流程控制