Вы можете просто сделать этот список частью команды, которую вы запускаете на целевом хосте, что-то вроде этого:
ips=( "10.0.0.1" "10.0.0.2")
ssh serverName 'for i in '${ips[@]}'; do ping ${i} -c1; done'
Обратите внимание на ломающуюся одиночную кавычку для передачи массива.
Edit:
Просто чтобы упомянуть об этом здесь: инструмент "fping" вполне подходит для этой работы.Это даст вам только тот список, который вы просили:
ips=( "10.0.0.1" "10.0.0.2")
ssh serverName 'fping -a '${ips[@]}' 2>/dev/null'
Cupcake прав насчет возможных проблем, которые возникают при передаче списка, как предполагается, с записями, содержащими пробелы.Однако в этом особом случае пробелы не ожидаются.
Это должно дать вам список IP-адресов без fping
ips=( "10.0.0.1" "10.0.0.2")
ssh serverName 'for host in '${ips[@]}'; do if ping -c1 -w1 ${host} >/dev/null 2>&1; then echo ${host};fi;done'