Печать результата проверки связи в простом формате, например «10 мс»

.sh указывает на сценарий для оболочки Bourne ( sh ) или оболочки Bourne Again ( bash ), которые обычно являются расширенным набором своего предшественника.

.csh указывает на сценарий для оболочки C ( csh ), которая, будучи оболочкой, во многом похожа, но значительно отличается, как только вы начинаете делать что-то более сложное. чем запуск серии статических команд.

Обе оболочки обычно доступны в любой среде POSIXy, и, действительно, обе часто предустановлены, хотя bash (и его двоюродный брат sh ), по моему опыту, немного более распространены.

Выше я сказал «ориентировочный», потому что идея расширения файла технически не существует и не имеет семантического или синтаксического значения. Файл может называться script.steve или documentation.exe или include.h и при этом оставаться сценарием оболочки. Для более точного подтверждения посмотрите на первую строку файла. Для сценария, предназначенного для непосредственного выполнения, он должен начинаться со строки shebang, которая начинается с octothorpe ( # ), bang (! ) и пути к исполняемому файлу. который должен запустить скрипт. Например:

#!/usr/local/bin/bash

или

#!/usr/bin/python3
1
19.06.2017, 01:00
2 ответа

Другойawkподход:

ping -c1 www.google.com | awk -F'=' 'NR==2{ print strftime("[%T]",systime()),$NF; exit}'
[01:35:47] 41.5 ms

  • -F'='- настраиваемый разделитель полей

  • $NF- последнее значение поля

  • exit- остановить обработка ввода сразу во 2-й записи

0
28.01.2020, 00:54

Попробуйте

ping -c 1 www.google.com | awk 'NR==2{print strftime("[%T]",systime()),substr($8,6),"ms"}'

Берет текущее время с помощью systime()и форматирует его в представление %T (чч :мм :сс )с помощью strftime. Затем печатает соответствующую часть поля 8, чтобы убрать ерунду time=.

Пример

ping -c 1 www.google.com | awk 'NR==2{print strftime("[%T]",systime()),substr($8,6),"ms"}'
[21:32:05] 1.03 ms
0
28.01.2020, 00:54

Теги

Похожие вопросы