總結前言
迴圈語句常用於重複執行一條命令或一組命令等,直到達到結束條件後,則終止執行。在shell中常見的迴圈命令有while、until、for和select等
今天我們來**第乙個迴圈語句,for迴圈。
for迴圈介紹
for迴圈語句與while迴圈語句類似,但for迴圈語句主要用於有限次的迴圈場景,while主要無限次迴圈的場景,如守護程序。
for迴圈的語法分析
1.第一種格式
for 變數 in 列表
do 操作
done
2,.第二種格式
for
((初始化表示式; 條件表示式; 更新迴圈變數表示式))
do 迴圈語句
for迴圈應用舉例
1. 從命令中取值
[root@ecs-c13b for]
# cat passwd ### 建立好的密碼檔案
zhangsan 12345678
lisi 123456789
wuwang 123
wangermazi 123456
[root@ecs-c13b for]
# cat for1.sh ### 寫好的指令碼
#!/bin/bash
for i in
`cat /root/for/passwd`
doecho
"$i"
done
[root@ecs-c13b for]
# bash for1.sh ### 執行指令碼以及執行後的效果
zhangsan
12345678
lisi
123456789
wuwang
123wangermazi
123456
2. 輸出從1到10
方法一:
[root@ecs-c13b for]
# cat for2.sh
#!/bin/bash
for i in
$(seq 1 10)
doecho
$idone
方法二:
[root@ecs-c13b for]
# cat for3.sh
#!/bin/bash
for(( i=
1; i<=
10; i++
))do
echo
$idone
方法三:
[root@ecs-c13b for]
# cat for2.sh
#!/bin/bash
for i in
doecho
$idone
3. 批量使用者處理
建立10個使用者
[root@ecs-c13b for]
# cat for3.sh
#!/bin/bash
for(( i=
1; i<=
10; i++
))do
echo
"正在建立第$i個使用者"
useradd user$i
done
4. ping命令最經典的指令碼
判斷ip的是否可用 使用ping命令進行判斷
[root@ecs-c13b for]
# cat for4.sh
#!/bin/bash
for i in
doping -c1 -i0.2 -w1 192.168.1.$i
if(($?==0
));then
echo
"192.168.1.$i is up"
else
echo
"192.168.1.$i is down"
fidone
5. 批量重新命名檔案[root@ecs-c13b for]
# cat for5.sh
#!/bin/ bash
#檔名: rename. sh
#用途: 重新命名 .jpg 和 .png 檔案
## 使用find查詢png和jpg的檔案 -o 指定多個-iname選項
donew=image-$count.$ ##使用##和mv將查詢到的檔案重新命名
echo
"renaming $img to $new"
mv"$img"
"$new"
let count++ ## 生成 image-1 image-2的格式
done
總結
for迴圈是工作中用到的最多的工具了,一定要多加練習。
shell shell指令碼實戰 awk使用案例
4.檢查伺服器是否受到ddos攻擊的指令碼 總結1.使用nr行號來定位提取ip root ecs c13b awk ifconfig eth0 awk f nr 2 192.168.0.1922.去除首行 root ecs c13b awk route n kernel ip routing tab...
Shell Shell指令碼執行
shell指令碼執行的方法有一下幾種 一.shellname.sh 二source shellname.sh 三chmod x shellname.sh shellname.sh 四sh shellname.sh區別和相同點 他們的相同點是都可以成功執行乙個shell指令碼。而不同點有 第一種方法 ...
Shell shell指令碼中的空格
1.定義變數時,號的兩邊不可以留空格.eg gender femal right gender femal wrong gender femal wrong gender test right 左邊是命令的話 號的右邊有空格是正確的 左邊不能有空格 gender test wrong 等號 左邊必須...