fra*_*man 2 bash arguments for-loop
我正在尝试编写一个bash脚本,该脚本应该在一系列IP地址上执行反向DNS查找.我们的想法是将网络(前3个八位字节)提供为1美元,将范围的开始提供为2美元,将所述范围的结束提供为3美元.
所以我最终得到了:
#!/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
Run Code Online (Sandbox Code Playgroud)
现在我认为这将在bash for循环中使用正常的序列操作,就像在
for i in {2..5}
Run Code Online (Sandbox Code Playgroud)
给你一个2,3,4和5的循环.但它不起作用.
如果我在循环中回显$ ip并将其作为例如运行
reverselookup.sh 192.168.10 21 50
Run Code Online (Sandbox Code Playgroud)
它给我带来了
{} 21..50
有谁知道是否有可能使这项工作?或者我必须重新考虑我的appraoch?
提前致谢.
你可以seq用来替换
for ip in {$2..$3}
Run Code Online (Sandbox Code Playgroud)
说:
for ip in $(seq $2 $3)
Run Code Online (Sandbox Code Playgroud)