shell for 循環簡單用法
阿新 • • 發佈:2019-05-15
line ech 事先 就是 其他 info 一個 png sum
for循環:固定有限次數循環,工作中for使用最多。
語法1:
for 變量名 in 變量取值列表
do
指令…
done
學習方法:記住下面的內容
for 男人 in 世界
do
if [ 有房 ] && [ 有車 ] && [ 有錢 ] && [ 有權 ] && [ … ];then
echo “我喜歡”
else
rm –f 男人
done
下面列舉幾個for循環語句例子:
直接列出變量列表所有元素,打印1、2、3、4、5
[[email protected] scripts]# vim for.sh
#!/bin/sh
for n in 1 2 3 4 5
do
echo $n
done
語法2:
for ((初始值;循環控制條件;變量變化))
do
指令
done
在語法二中需要註意以下幾點:
①初始值:在循環開始時,需要給某個變量賦予初始值,如 i=1。
②循環控制條件:用於指定變量循環的次數,如 i<=100,則只要 i 的值小於等於 100,循環就會繼續。
③變量變化:每次循環之後,變量該如何變化,如 i=i+1,代表每次循環之後,變量的值都加 1。
語法二和其他語言中的 for 循環類似,也就是事先決定循環次數的固定循環。先舉一個簡單的例子。
從1加到100總和:
[[email protected] scripts]# vim for.sh #!/bin/sh
#no.1 echo "-----------------------------" for n in `seq 100` do ((sum+=n)) done echo "1...100總和為:" $sum echo "==============================" #no.2 for ((i=1;i<=100;i++)) do ((sum1+=i)) done echo "1...100總和為:" $sum echo "==============================" #no.3 echo "1...100總和為:" $((100*(100+1)/2)) echo "-------------------------------"
下面我們來一個實戰例子:
掃描192.168.43.110---120 /24網絡裏,當前在線用戶的ip有哪些:
[[email protected] scripts]# vim scan.sh
#!/bin/sh
# ******************************************************
# Author : aゞ錦衣衛
# Last modified: 2019-05-14 23:37
# Email : [email protected]
# blog : https://www.cnblogs.com/su-root
# Filename : scan.sh
# Description : Scanning online IP
# ******************************************************
read -p "請輸入您要掃描的IP網段:" IP
echo "正在掃描..."
sleep 1
for i in {110..120}
do
if ping -c 1 -W 1 $IP.$i &>/dev/null;then
echo -e "\033[32m $IP.$i\033[0m is up"
else
echo -e "\033[31m $IP.$i\033[0m is down"
fi
done
echo "掃描完畢!"
ok!
shell for 循環簡單用法