2013-02-07 144 views
2

我使用一個簡單的shell腳本來阻止IP地址,這些IP地址只是將我的輸入(IP)替換爲iptables,IPFW等中的變量(具體取決於哪個平臺),但它們全部基本上遵循以下格式:輸入多個變量的Bash腳本

read -p "IP to Block: " ip 

ipfw add deny ip from $ip to any 

是否可以簡單地按順序執行一組用戶定義的變量。例如,三個IP地址,並且腳本基本上每個變量執行三次,但將輸入限制爲單個提示(要求輸入一次)?

回答

1

聽起來像是你想要做這樣的事情:

for ip in [email protected]; do 
    ipfw add deny ip from $ip to any 
done 

我不知道這是的ipfw的確切用法,但[email protected]是除了第一個命令的每一個字,所以它會工作附:

your-script-name 1.2.3.4 1.3.4.5 1.4.5.6 
+0

非常好,謝謝。對於IPFW,只要每個變量都爲每個命令實例打印一個IP地址,那麼這應該足以滿足腳本打算涵蓋的防火牆管理級別。 –

+0

你可以在提示符下使用它,在腳本中'read -p'IPs到Block(用空格分開):「ips'然後'在$ ips中爲ip;做......而不是。然後運行它沒有參數。 – 244an