LINUX.ORG.RU

Почему не получает значение

 ,


0

1

Добрый день, есть одна строка

s=$(ping -c 1 -M do -s 1500 192.168.88.16 | sed -n 2p);
echo $s;


Вывод переменной s пустой, эту переменную хочу использовать для сравнения, подскажите в чем может быть проблема. И да, MTU я специально поставил больше.

# s=$(ping -c 1 8.8.8.8|sed -n 2p)
# echo $s
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=26.7 ms
anonymous
()

непонятен вопрос. что должно быть в переменной?
если переменная пуста а ты хочешь использовать в сравнении, можно отлавливать пустое значение переменной
с помощью конструкции

if [[ "x$s" = "x" ]] ; then  echo EMPTY ; fi 

или присваивания «стандартного значения:
s=${s:-0}

bl ★★★
()
Последнее исправление: bl (всего исправлений: 1)

Потому что ping завершается с ошибкой:

ping: local error: Message too long, mtu=1500

xaizek ★★★★★
()

Поток ошибок идет отдельно. Хотите, чтобы ошибки попадали в переменную, перенаправляйте поток ошибок на стандартный вывод.

Serge10 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.