Почему существует разница между выводом скрипта и команды терминала?

Почему bash меняет вывод моего скрипта по сравнению с выводом терминала?

Если я наберу

dig +noall +answer NS google.com

Я понял

Но если я сделаю это с помощью сценария

#!/bin/bash
echo "Domain: "
read DOMAIN
echo
DIG=$(dig +noall +answer NS $DOMAIN)
echo $DIG

Я получаю это

Я хочу получить такие же результаты, как если бы я набрал команду в консоли.

Я знаю, что могу просто сохранить и отсортировать (не совсем отсортировать, а awk) их в файле, но, если возможно, я хочу получить тот же результат, не сохраняя результаты в файле.

Я использую Ubuntu 16.04, если это вам поможет.


person Tobey    schedule 25.09.2017    source источник


Ответы (1)


Укажите свои переменные!

$ DIG=$(dig +noall +answer NS google.com)

$ echo $DIG
google.com. 86308 IN NS ns2.google.com. google.com. 86308 IN NS ns3.google.com. google.com. 86308 IN NS ns1.google.com. google.com. 86308 IN NS ns4.google.com.

$ echo "$DIG"
google.com.             86295   IN      NS      ns3.google.com.
google.com.             86295   IN      NS      ns1.google.com.
google.com.             86295   IN      NS      ns4.google.com.
google.com.             86295   IN      NS      ns2.google.com.
person 0x5453    schedule 25.09.2017