LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 700|回复: 9

出一个问题~关于变量的~

[复制链接]
发表于 2005-5-14 23:32:43 | 显示全部楼层 |阅读模式
用ipconfig加grep,抽了ppp0的IP地址,放进一个变量ip_ppp0~
然后用
iptables -a input -s $ip_ppp0 -j accept
失败
iptables -a input -s 192.168.10.33 -j accept
成功

估计应该是,用grep抽出来的是文本,而这个iptables应该是只接受数字的
请教~~~~~~~~~~~~~~~~~如何解决
发表于 2005-5-15 00:29:25 | 显示全部楼层
试一下:
1. iptables -a input -s `echo $ip_ppp0` -j accept
2. eval iptables -a input -s $ip_ppp0 -j accept

要是还不行,把出错的信息贴上来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-15 00:33:59 | 显示全部楼层
好~~试完了,回来报告~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-15 01:22:05 | 显示全部楼层
iptables -a input -s `echo $ip_ppp0` -j accept
这个成功了~~~~~谢谢,可以讲明一下吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-15 16:52:32 | 显示全部楼层
这个搜索一下论坛就有结果了,关键在于``符号表示什么意思
回复 支持 反对

使用道具 举报

发表于 2005-5-15 23:38:37 | 显示全部楼层
为什么直接用不可以呢,我做的防火墙脚本都是直接用的。
能否把提取ip的代码放上来,怀疑可能提取时带有怪字符。
回复 支持 反对

使用道具 举报

发表于 2005-5-15 23:57:32 | 显示全部楼层
我也认为直接用是可以的,怕是哪里有些问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-17 00:03:26 | 显示全部楼层
我是用这个方法的,请指教~~
ip_ppp0=$(ifconfig | grep ppp0 -1 | grep inet | awk -F ':' '{print $2}'| awk '{print $1}')
回复 支持 反对

使用道具 举报

发表于 2005-5-17 00:46:44 | 显示全部楼层
echo $ip_ppp0的输出是啥?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-17 01:04:38 | 显示全部楼层
PPP0的IP地址~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表