2

我想在 OSX 中使用 bash 脚本将域列表转换为 IP 地址。

我创建了一个列表文件来逐行呈现域,如下所示

www.google.com
www.yahoo.com
www.facebook.com

我使用以下脚本来查找 IP 地址:

#!/bin/bash
while read -r domain
do
    echo `dig +short $domain` 
done < list

其中 list 是包含这些域的文件。

但是,它最终只显示一个空字符串。

但是当我只查询一个域时,命令是可以的。

dig +short www.google.com
> 216.58.221.132

希望任何人都可以帮助我找出问题所在。谢谢!

4

1 回答 1

2

dig具有-f从文件中读取域名列表的命令行选项。从手册页,

-f选项通过从文件 filename 读取要处理的查找请求列表,使dig批处理模式下运行。该文件包含许多查询,每行一个。文件中的每个条目的组织方式应与它们显示为查询的方式相同,以便使用命令行界面进行挖掘。

跑步

dig +short -f list

其中名为 list 的文件包含

www.google.com
www.yahoo.com
www.facebook.com

会给你像这样的输出

74.125.239.114
74.125.239.112
74.125.239.116
74.125.239.113
74.125.239.115
fd-fp3.wg1.b.yahoo.com.
206.190.36.45
206.190.36.105
star.c10r.facebook.com.
31.13.77.6
于 2015-07-18T16:55:19.150 回答