我已经创建了一个脚本来更新iptables中的一些ipaddress。因此我正在描述我正面临的问题。shell脚本比较两个变量
问题:
- 比较脚本
- 中的两个变量之间没有发生在脚本我需要执行一个命令即结束;服务重启/停止等,并且在执行脚本时这些命令的输出应该是可见的。
1)这里我比较两个变量字符串:
BASE=172.31.0.0
CMD=172.31.1.0
if [[ "$CMD" == "$BASE" ]]; then
echo "ip are same"
else
echo "not matched"
fi
但在执行上面的脚本没有响应/输出。这里没有比较没有发生......只是建议解决此问题的最佳解决方案。
2)执行脚本之后我需要重新启动的iptables:
BASE=172.31.0.0
CMD=172.31.1.0
if [[ "$CMD" == "$BASE" ]]; then
echo "ip are same"
else
echo "not matched"
fi
service iptables restart
iptables -nvL
的脚本应显示的最后两行(命令)的输出。请告诉我最好的解决方案,以及如何以最好的方式做到这一点。
本文发表奖项。祝你好运 – 2013-02-13 12:35:33
所以......你正在使用什么外壳? bash,还是sh?你知道他们不同,对吧?因为这样,该脚本在bash中工作并在sh中产生错误。这两者都不是你正在报告的内容。 – ghoti 2013-02-13 12:45:16
感谢您的回复,我正在使用bash脚本,并试图通过./script.sh来执行此脚本。 – suboss87 2013-02-13 14:37:56