shell 从文件获取数据并赋值给变量

本文介绍了一个简单的Shell脚本,用于从指定文件中读取IP地址和端口号,并自动添加到iptables防火墙规则中,简化了配置流程。

需求:从某文件中读取ip地址以及端口号,用iptables打开该ip以及端口

比如文件内容:

1
2
3
4
[root@localhost xxx]# cat ip.txt
192.168.1.20 22
192.168.1.30 10
192.168.1.30 33

手动操作为:

1
[root@localhost huwei]# iptables -A INPUT -s 192.168.66.20  -i eth0 -p tcp --dport 22 -j ACCEPT

改写使用脚本读取文件内容,自动添加iptables防火墙规则,脚本为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost xxx]# cat ip.sh
#!/bin/sh
wan0='eth0'
FILE='/home/huwei/ip.txt'
while read i
do
a=$(echo "$i"|awk -F ' ' '{print $1}')
b=$(echo "$i"|awk -F ' ' '{print $2}')
#此处显示变量的值,其实可以省略
echo "$a"
echo "$b"
iptables -A INPUT -s $a  -i $wan0 -p tcp --dport $b -j ACCEPT
/etc/init.d/iptables save
done<$FILE

土办法,我觉得应该还有更好的办法可以实现这样的功能 



本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1787463,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值