Shell腳本的基本流程控制
阿新 • • 發佈:2017-05-17
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腳本的基本流程控制