我有一个包含以上格式的多个主机和IP的文件:
alpha, 192.168.1.1
beta, 192.168.1.2
gamma, 192.168.1.3我正在尝试创建一个脚本,上面写着:
"Pinging主机名α“
ping 192.168.1.1跳到列表中的下一个ip。我不想要整个剧本,只是一些建议。
谢谢,亚历克斯
发布于 2013-12-17 13:40:43
如果在输入字段分隔符中添加逗号,它将有助于解析行:
IFS=$IFS,
while read name ip; do
echo -n "Pinging hostname $name..."
ping -c2 "$ip" &>/dev/null && echo success || echo fail
done < /tmp/hosts发布于 2013-12-17 09:14:17
我和read一起读过台词。您可能还想给ping一个选项,告诉它给ping做了多少次。例如,在大多数Linux系统中,默认的做法是永远使用ping,这在您的情况下似乎不太适用。
发布于 2015-03-02 16:03:11
你可以用AWK
$ awk '{print "Pinging hostname "$1; system("ping -c 3 "$2) }' ips
Pinging hostname alpha,
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.如果逗号对您很重要,也可以删除该逗号:
$ awk '{sub(/,/,"");print "Pinging hostname "$1; system("ping -c 3 "$2) }' ips
Pinging hostname alpha
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.https://stackoverflow.com/questions/20629927
复制相似问题