shell的编程有时候比较难懂,语法和工具要结合起来用。
我有一个主机和端口的处理,想用shell循环处理,以便以后可以随意增加要处理的内容。
简单的劳工式代码:
如果 do sth 都是一样的代码,那我们可以整理成循环:
上面的代码很好懂。
首先把要处理的内容写成规律的字符串,端口号和ip用冒号分割,然后用空格串接起来。这样我们可以随意添加而不用修改后面重复的代码,维护起来容易。
关键在于用冒号分割的怎么处理,其实就是搭配awk的处理结果就可以了!看代码就懂。
原创内容如转载请注明:来自 阿权的书房
我有一个主机和端口的处理,想用shell循环处理,以便以后可以随意增加要处理的内容。
简单的劳工式代码:
ip=192.168.1.4
port=80
//do sth
ip=192.168.1.4
port=21
//do sth
ip=192.168.1.40
port=3398
//do sth
port=80
//do sth
ip=192.168.1.4
port=21
//do sth
ip=192.168.1.40
port=3398
//do sth
如果 do sth 都是一样的代码,那我们可以整理成循环:
Forwards="192.168.1.4:3389 192.168.1.40:110 192.168.1.40:25"
for forward in $Forwards
do
Forward_Port=`echo $forward | awk -F":" '{print $2}'`
Forward_IP=`echo $forward | awk -F":" '{print $1}'`
echo " Forward $Forward_IP:$Forward_Port"
//do sth
done
for forward in $Forwards
do
Forward_Port=`echo $forward | awk -F":" '{print $2}'`
Forward_IP=`echo $forward | awk -F":" '{print $1}'`
echo " Forward $Forward_IP:$Forward_Port"
//do sth
done
上面的代码很好懂。
首先把要处理的内容写成规律的字符串,端口号和ip用冒号分割,然后用空格串接起来。这样我们可以随意添加而不用修改后面重复的代码,维护起来容易。
关键在于用冒号分割的怎么处理,其实就是搭配awk的处理结果就可以了!看代码就懂。
原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
有创意的“10 Minute Mail”
Google gadget里使用HTML
