我试图编写一个应该对IP地址范围执行反向DNS查找的bash脚本。这个想法是提供网络(前3个八位字节)为1美元,范围的开始将被检查为2美元,并且所述范围的结束为3美元。在for循环中使用命令行参数(bash)
所以我结束了:
#!/bin/bash
if [ $# -ne 3 ]
then
echo "[*] Usage: reverselookup.sh [Network (x.x.x)] [start of range (y)] [end of range (z)]"
exit 1
fi
for ip in {$2..$3}
do
host $1.$ip | grep pointer
done
现在,我认为这将使用正常序列操作在bash for循环,就像
for i in {2..5}
为您提供了2,3环,4和5.但它不起作用。
如果我在回路中回显$ ip并将其作为例如
reverselookup.sh 192.168.10 21 50
它送给我
{21..50}
有谁知道是否有可能使这项工作? 还是我不得不重新考虑我的方法?
在此先感谢。
参见[括号展开]的说明(http://www.gnu.org/software/bash/manual/bash.html#Brace-Expansion)明白为什么你输入什么也不会工作。 –