我无法弄清楚我做错了什么?我必须陷入某个地方的循环,但不明显的地方。 (对我而言)
没有收到任何挂在awk上的错误消息
当我列出ipset时,它正在做它想做的事情,所以我认为它从未找到EOF?
#! /bin/bash clear echo "Removing old list" rm /config/bogons/bogonsv4.txt rm /config/bogons/bogonsv6.txt echo "Updating list from Team Cymru" curl -o /config/bogons/bogonsv4.txt http://www.team-cymru.org/Services/Bogons/fu curl -o /config/bogons/bogonsv6.txt http://www.team-cymru.org/Services/Bogons/fu echo "clearing old bogon tables" /sbin/ipset flush bogonsv4 /sbin/ipset flush bogonsv6 echo "Updating bogons" awk '!/^#/ {cmd="/sbin/ipset add bogonsv4 " $1 " >> output"; system(cmd);} end{exit;}' bogonsv4.txt awk '!/^#/ {cmd="/sbin/ipset add bogonsv6 " $1 " >> output"; system(cmd);} end{exit;}' bogonsv6.txt exit
答案 0 :(得分:0)
您应该调试代码。暂时通过以下方式替换awks:
awk '!/^#/ {cmd="/sbin/ipset add bogonsv4 " $1 " >> output"; print("running:",cmd); system(cmd)}' bogonsv4.txt > errs.txt
awk '!/^#/ {cmd="/sbin/ipset add bogonsv6 " $1 " >> output"; print("running:",cmd); system(cmd)}' bogonsv6.txt >> errs.txt
然后检查errs.txt
文件。