在我的 bash 脚本中,我需要从命令输出中提取所有主机名以便进一步 ping:
for host in `echo $MXrecords | awk '{ printf "%s", $0; }'` ; do
ping -c1 $host 2> /dev/null > /dev/null
if [ "$?" -eq "0" ] ; then
answ="OK"
else
answ="BAD"
fi
echo "\t$host [$answ]"
done
但我有一些额外的字符串:
40 [BAD]
alt2.aspmx.l.google.com. [OK]
30 [BAD]
alt3.aspmx.l.google.com. [OK]
我通过 dig 得到 var MXrecords:
MXrecords=`dig @$DNSserver $domainName IN MX +short +multiline | awk '{ printf "\t%s\n", $0; }'`