bash嵌套for循环不工作
我已经写了一个bash脚本来禁止我的路由器使用国家IP块 为什么以下方法有效:bash嵌套for循环不工作,bash,Bash,我已经写了一个bash脚本来禁止我的路由器使用国家IP块 为什么以下方法有效: for ip in $(wget -qO- http://ipdeny.com/ipblocks/data/countries/cn.zone) do iptables -I wanin -s "$ip" -j DROP done 但是下面我在哪个国家嵌套多个不 for country in CN AD do for ip in $(wget -qO- http://ipdeny.com/ipb
for ip in $(wget -qO- http://ipdeny.com/ipblocks/data/countries/cn.zone)
do
iptables -I wanin -s "$ip" -j DROP
done
但是下面我在哪个国家嵌套多个不
for country in CN AD
do
for ip in $(wget -qO- http://ipdeny.com/ipblocks/data/countries/$country.zone)
do
iptables -I wanin -s "$ip" -j DROP
done
done
注意它的大小写感。你有
for country in CN AD;
请注意此处使用的是大写字母。如果你使用
for country in cn ad;
那么它应该会起作用。你可以尝试一下这个链接,看看它是否具有区分大小写的功能。你有
for country in CN AD;
请注意此处使用的是大写字母。如果你使用
for country in cn ad;
那么它应该会起作用。您可以自己尝试该链接,并且因为
country
应该是小写的,您可以添加declare-l country
,如下所示:
declare -l country
for country in CN AD; do
for ip in $(wget -qO- http://ipdeny.com/ipblocks/data/countries/$country.zone); do
iptables -I wanin -s "$ip" -j DROP
done
done
或使用:
由于
country
应为小写,您可以添加declare-l country
如下:
declare -l country
for country in CN AD; do
for ip in $(wget -qO- http://ipdeny.com/ipblocks/data/countries/$country.zone); do
iptables -I wanin -s "$ip" -j DROP
done
done
或使用: