for迴圈的語法:
1. for 變數 in 值1 值2 值3....
do程式
done
例如:下列指令碼會分別列印4次 分別是morning noon afternoon evening的值
1 #!/bin/bash2#列印時間
3#author mrfeng45
fortime
inmorning noon afternoon evening6do
7echo $time
8done
例如批量解壓縮:
1 #!/bin/bash2#批量解壓縮指令碼
3#author: mrf
45 path=/opt/lamp67
cd $path89
ls *.tar.gz > ls
.log
10ls *.tgz >> ls
.log
11for i in $(cat
ls.log)
12do
13tar zxvf $i &>>cc
.log
14done
15rm -rf ls
.log
2.for 語法二
格式:
1for((初始值;迴圈控制條件;變數變化))2do
3程式4done
例如:
1 #!/bin/bash2#從1加到100
34 s=0
5for(( i=1;i<=100;i=i+1 ))6
do7 s=$(($s+$i))
8done
9echo
"the sum of 1+2+...+100is: $s
"
例如:批量新增使用者
1 #!/bin/bash2# 批量新增使用者數量的使用者
3 # author:mr f (e-mail:22222222)4
5 read -p "
please input user name:
" -t 30
name
6 read -p "
please input the number of users:
" -t 30
num7 read -p "
please input the password of users:
" -t 30
pass
8if [ ! -z "
$name
" -a ! -z "
$num
" -a ! -z "
$pass"]
9then
10 y=$(echo $num | sed
's/[0-9]//g')
11if [ -z "
$y" ] ; then
12for ((i=1;i<=$num;i=i+1
))13
do14 /usr/sbin/useradd $name$i &>/dev/null
15echo $pass | /usr/bin/passwd --stdin $n
16 ame$i &>/dev/null
17done
18fi
19fi
20cat /etc/passwd | grep user[1-$num] | cut -d "
:" -f 1 >>userlist.log
當然我也寫了乙個利用 userlist.log進行批量刪除的指令碼方便大家做完實驗後清理
1 #!/bin/bash2for i in $(cat ./userlist.log)3do
4 /usr/sbin/userdel -r $i &>>del.log
5done
6 #cat
del.log
7rm -rf del.log
《流程控制》shell學習之路 七
示例 a 10 b 20 if then echo a b elif a b then echo a b else echo a b fi for item in 1122 3344 55do echo item done int 1 while int 5 doecho int let int d...
shell學習之路 流程控制 while
while迴圈 介紹 while迴圈是不定迴圈,也稱作條件迴圈。只要條件判斷成立,迴圈就會一直繼續執行,直到條件判斷不成立,迴圈才會停止,這就是和for的固定迴圈不太一樣了 1 while 條件判斷 2do 3程式4done 示例 1 root localhosta1 bash vi while1....
shell流程控制學習
linux shell有一套自己的流程控制語句,其中包括條件語句 if 迴圈語句 for,while 選擇語句 case 下面我將通過例子介紹下,各個語句使用方法。一 shell條件語句 if用法 if語句結構 if then elif else fi if 條件測試語句 then action e...