在my question我學會使用循環,並與您一起幫助我最後一個軟件的多個實例的安裝腳本。非常感謝:)殼用於循環與多變量
現在我嘗試通過使用sed自動設置配置文件。爲此,我需要循環中的多變量變量。
我從系統中IP-並不會忽略對IP的(PTR)的主機名
IPADDR=`ifconfig | awk '{print $2}' | egrep -o '([0-9]+\.){3}[0-9]+'|grep -v 127.0.0.1`
for ipaddr in ${IPADDR[@]}; do echo $ipaddr; done
for iphost in ${IPADDR[@]}; do host $iphost |grep pointer | awk '{print $NF}' RS='.\n'; done
我的劇本知道讀,有AR 3 IP的,知道了IP-地址和主機名。
IP(3)的號碼現在是我的001 002 003.這個運行良好。
如果我喜歡用sed編輯配置文件,我需要3變量來做到這一點。
命令anyname-001 -some -parameter在我的情況是複製到路徑。現在我的道路是
的/ etc/anyname-001,在/ etc/anyname-003和/ etc/anyname-003
使用SED我還需要3個IP-地址和3主機名。
sed -i 's/IPADDR/'${ipaddr}'/g' /etc/anyname-${number}/config.cfg
sed -i 's/HOSTNAME/'${hostname}'/g' /etc/anyname-${number}/config.cfg
我怎樣才能使我的循環與所有變量在同一時間。 T嘗試很多事情。我發現嵌套的循環,但它不能正常工作
001 >> IP:AAAA >>主機名aaa.aaa.aa
002 >> IP:BBBB >>主機名bbb.bbb.bb
003 >> IP:中交>>主機名ccc.ccc.cc
謝謝
這是可以想象,你可能在這裏有一個問題,這實際上是在話題上,但現在它已經被埋沒了,並且絕對不能被任何人重現(因爲運行你的代碼,我們需要一個具有相同DNS配置的系統和IP地址)。如果這個問題因爲重複而關閉不起作用,請嘗試創建一個[Minimal,Complete,Verifiable Example](http://stackoverflow.com/help/mcve) - 別人可以運行的代碼來查看您的代碼問題,即使它們沒有相同的IP /主機/接口配置。 –
如果你很難找出如何重寫問題以便其他人可以測試他們的答案,可以考慮嘗試爲你的基礎bash問題創建一個與主機名,IP地址等無關的測試用例 - 這裏有畢竟,有很多方法可以鍛鍊'for'循環;這樣做也可以使你的bash語言問題更加清晰,把它與你僅僅部分描述的更大的背景分開。如果你做了這樣的重寫,@注意我,我會扭轉近似的重複。 –