作者funkey (方塊)
看板Linux
標題Re: [問題] 迴圈內變數中的變數問題?
時間Mon May 18 22:50:56 2015
有段時間沒有寫 script 了,不過我的話會把所有 ip 放到一個檔案裡面,
例如 ip_addr.txt,然後用一個變數去抓那隻檔案的內容,大概會像這樣:
---
#/bin/bash
# 把 ip_addr.txt 內所有 ip 存到 ip_addr 這個變數裡面。
ip_addr = `cat ip_addr.txt`
# 下面這個 for 迴圈會一行一行的讀 ip_addr 裡面的值。
for ip in $ip_addr
do
# 再來看你要做什麼,但注意這邊的變數要用 $ip!
do something ...
done
---
※ ip_addr.txt 一行放一個 IP,不然 for 迴圈那邊會出錯,例如:
111.111.111.111
222.222.222.222
333.333.333.333
※ ip_addr.txt 要放在和 script 同一層資料夾,否則要 cat 絕對路徑,例如:
ip_addr = `cat /home/ptt/linux/ip_addr.txt`
之後要增減 ip 只要改 ip_addr.txt 這支檔案就可以了。
更詳細的教學可參考鳥哥的 Linux 私房菜:
http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#for
希望這有幫到你。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.148.199
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1431960659.A.90C.html
推 gn00678465: 又學到了一招,這個迴圈應該可以改寫成while的吧 05/19 07:43
推 Neisseria: 這招還不錯, 筆記一下 05/19 10:15
→ chang505: 我也會這樣做,方便很多 05/19 17:03