0

使用下面的脚本,我希望能够获取在其末尾输出的 IP 地址,然后对其进行 ping 操作。

#!/usr/local/bin/bash

echo -n "Enter server number:"
read userinput

lookupip="d $userinput"

if [[ $userinput -lt 0 || $userinput -gt 9999 ]] #checks that the input is within the desired range
 then
   echo "Input outside acceptable range."
 else

#grep gets just the IP address

$lookupip | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' | sed '1 ! d'

我不知道如何用输出做到这一点:

> or >> filename | xargs ping

就像在 grep 命令周围使用 " 或 ` (或将其放入变量中,如下所示:

ipgrep=$(grepcommand)
ipgrep=`grepcommand`

或变量似乎不起作用。

4

1 回答 1

0

Derp,我只需要添加:

| xargs ping -c 1

后:

sed '1 ! d'
于 2013-01-18T10:42:09.717 回答