以下是iptable保存文件,我通過設置一些變量(如下所示)來修改該文件。與上面的保存文件使用帶變量的外部文件
-A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j REJECT
我也有被定義這個變量,應該叫bash腳本的iptables-恢復。
#!/bin/sh
EXTIF="eth0"
INTIF="eth1"
INTIP="192.168.0.1/32"
EXTIP=$(/sbin/ip addr show dev "$EXTIF" | perl -lne 'if(/inet (\S+)/){print$1;last}');
UNIVERSE="0.0.0.0/0"
INTNET="192.168.0.1/24"
現在我需要使用
/sbin/iptables-restore <the content of iptables save file>
在bash腳本,不知怎麼插入頂部到這個腳本的文本文件,這樣的變量將被初始化。有沒有辦法做到這一點?
UPDATE:甚至試過這種
/sbin/iptables-restore -v <<-EOF;
$(</etc/test.txt)
EOF
轉貼[這裏](http://serverfault.com/questions/247013/how-to-read-data-from-file-containing-variables)。 – 2011-03-14 04:19:04