使用下面的脚本我希望能够获得在其末尾输出的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`
或变量似乎不起作用。
答案 0 :(得分:0)
Derp,我只需要添加:
| xargs ping -c 1
后:
sed '1 ! d'