shell腳本--------for循環

循環語句

for循環語句
需要指定一個變量以及可以取值的取值列表,針對每一個不同的取值執行相同的命令序列,直到變量值用盡,退出循環

取值列表:for語句的執行條件,其中包括多個屬性相同的對象,需要預先指定。

格式:
for  變量名  in  取值列表
do
    命令序列
done

注:
for語句的操作對象爲用戶指定名稱的變量
通過in關鍵字爲該變量預先設置一個取值列表

多個取值之間以空格作爲分隔
do~done之間是一個循環體

應用領域:
1、字符串取值列表
#!/bin/bash
#字符串取值列表

for A in 電腦 汽車 手機 書包
do
        echo "我要買$A"
done

我在 根目錄下的 /opt目錄下創建一個的shell腳本名爲for01.sh(如下圖)
在這裏插入圖片描述
在vi便一種創建腳本
在這裏插入圖片描述
A表示自定義變量名
電腦汽車書包表示待取值
$A表示依次取得值
保存退出

chmod +x for01.sh   爲腳本添加執行權限

在這裏插入圖片描述

2、文件取值列表
#!/bin/bash
#文件取值列表(命令執行取值列表)

i=1
for USER in $(cat /opt/a)
do
        echo "$i號用戶:$USER"
        let i++
done

先在 /opt目錄下創建個a文件寫入一些名字
再創建for02.sh文件寫入下圖內容
在這裏插入圖片描述
$(cat /opt/a)表示要從這個目錄中取值
保存退出爲文件添加執行權限
效果如下圖
在這裏插入圖片描述

3、掃描ip地址

#!/bin/bash
#掃描ip地址

for IP in 192.168.108.{1..254}  //網段
do
        ping -c 3 -i 0.2 -W 1 $IP &> /dev/null   

        if [ $? -eq 0 ];then
                        echo "$IP is up!!!"
                else
                        echo "$IP is down!!!"
        fi
done

創建for03目錄
如下圖
在這裏插入圖片描述
這裏面的192.168.0.是自己的網段
加入執行權限後結果如下圖
在這裏插入圖片描述

4、批量添加用戶
方法一:同一個姓的

#!/bin/bash
#批量添加用戶

for  A in teacher{1..5}    //添加五個用戶
do
        useradd $A

        echo 123 | passwd --stdin $A &> /dev/null
        #echo 123  是爲用戶設置密碼
done

創建for04
在這裏插入圖片描述
添加執行權限並運行如下圖
在這裏插入圖片描述

再cat /etc/passwd會顯示用戶
在這裏插入圖片描述

方法二:不同姓名

 vi b.txt

a
b
c
d
e

#!/bin/bash
#批量添加用戶

for  A in $(cat /opt/b)
do
        useradd $A
        echo 123 | passwd --stdin $A &> /dev/null
done

創建for05如下圖
在這裏插入圖片描述
爲文件添加執行權限並運行
在這裏插入圖片描述
完成後在cat /etc/passwd中查看
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章