Re: [問題] 迴圈內變數中的變數問題?

看板Linux作者 (方塊)時間9年前 (2015/05/18 22:50), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串2/3 (看更多)
有段時間沒有寫 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

05/19 07:43, , 1F
又學到了一招,這個迴圈應該可以改寫成while的吧
05/19 07:43, 1F

05/19 10:15, , 2F
這招還不錯, 筆記一下
05/19 10:15, 2F

05/19 17:03, , 3F
我也會這樣做,方便很多
05/19 17:03, 3F
文章代碼(AID): #1LMVnJaC (Linux)
文章代碼(AID): #1LMVnJaC (Linux)