Я добавляю содержимое переменной в строку. Видя этот странный результат. Можете ли вы объяснить, почему строчные n в содержимом обрабатываются как новая строка ... предложить альтернативный метод?
# CLNAM='NED2k'; echo 'order code is ' | sed "s/$/\\$CLNAM/";
order code is NED2k
# CLNAM='Ned2k'; echo 'order code is ' | sed "s/$/\\$CLNAM/";
order code is Ned2k
# CLNAM='ned2k'; echo 'order code is ' | sed "s/$/\\$CLNAM/";
order code is
ed2k
Первые два примера работают, давая желаемый результат в одну строку; третий пример приводит к двум строкам с пропущенной буквой 'n' - что-то интерпретирует это как разрыв строки.
Вышеуказанное упрощено только для иллюстрации проблемы. Я не использую echo, так что это не так просто, как просто вставить переменную прямо в команду echo;)
Мой код представляет собой цикл по списку поддоменов; определите используемый сервер имен, затем найдите запись A и добавьте сервер имен к этому результату.
do dig @$NSTU $SUBD A |grep "^$SUBD.*IN.*A"| sed "s/$/\\$NSTU/"
Ожидаемый результат - AOK, когда NS в заглавных буквах, но те, которые не разбиваются на 2 строки и отбрасывают это начальное «n»