Как я могу получить результат и проверить команду dig?

когда мы вводим команду «dig + short www.example.com», мы получаем что-то вроде этого:

www.example.com. 192.168.1.1 192.168.1.2 192.168.1.3 

Я хочу получить первый адрес и проверить его, если это то, что я хочу (192.168.1.1)

Как я могу получить вывод этой команды, особенно вторую строку, используя сценарий оболочки?

2 Solutions collect form web for “Как я могу получить результат и проверить команду dig?”

Что-то вроде этого будет делать:

 $ dig +short www.google.com | head -1 74.125.225.113 

Но будьте осторожны, потому что большинство серверов, которые имеют несколько IP-адресов, будут делать какую-то форму циклического уровня на уровне DNS, поэтому список обычно вращается каждый раз, когда вы запускаете команду dig :

 $ dig +short www.google.com 74.125.225.116 74.125.225.112 74.125.225.113 74.125.225.114 74.125.225.115 $ dig +short www.google.com 74.125.225.115 74.125.225.116 74.125.225.112 74.125.225.113 74.125.225.114 $ dig +short www.google.com 74.125.225.114 74.125.225.115 74.125.225.116 74.125.225.112 74.125.225.113 

Обратите внимание, как IP-адреса перемещаются из запроса в запрос? Это делается для балансировки нагрузки между этими серверами.

Захват IP в переменную

Следующая команда захватит вывод IP-адреса и поместит его в переменную оболочки.

 $ IP=$(dig +short www.google.com | head -1) 

Вы можете подтвердить это так:

 $ echo $IP 74.125.225.114 

Ну вот

 dig +short www.example.com | sed -n '2{p;q}' 

-n запрещает sed печатать свои данные по умолчанию. 2 заставляет его выполнить p;q на строке номер 2. p означает печать и q для выхода

  • Является ли `var = value builtin` таким же, как` var = value; builtin`?
  • Список процессов: / bin / sh -e / proc / self / fd / 11
  • Почему мой экранизированный сценарий не работает?
  • Преобразуйте аргумент в верхний регистр, чтобы передать его как переменную
  • Ошибочно думать, что правило преуспело из-за 0-размерного файла, сгенерированного перенаправлением вывода
  • Перенаправить вывод всех команд в файл, а не только последний
  • Mx ansi-term colors в Emacs 24.x
  • Какая труба будет работать для ввода случайных данных в скомпилированную программу для варианта 1 и варианта 2 одновременно?
  • Есть расширение оболочки, которое похоже на scm_breeze, где вывод нумеруется, и вы можете псевдонизировать файл по его номеру
  • Запретить запуск vim в оболочке, если он уже запущен в фоновом режиме
  • Расширение переменной оболочки и эффект glob и разбиение на нее
  • Linux и Unix - лучшая ОС в мире.