echo -e некорректно выводит результат в файл при перенаправлении в файл в bash

Мне пришлось установить и настроить ОС, чтобы она была мультибиблиотечной, установить vmware и необходимые другие программы и драйверы и скомпилировать их с нуля. Slackware — это настоящее свидетельство прошлого. Мы прошли долгий путь -и будем благодарны тем, кто сделал современный ПК чем-то простым в использовании.

-1
20.03.2021, 18:43
1 ответ

Ваш echoинтерпретирует вашу команду как строку и выводит ее. Судя по вашему описанию, вы хотите запустить команду и вывести результат.

Попробуйте это:

while IFS= read -r ports; do
echo -e $(show lldp neighbor-info $ports | inc Chassis-Desc) >> output.txt
sleep 2
done < lldp-list.txt

Кавычки были изменены на $(), чтобы использовать подстановку команды оболочки , а echoтеперь должен выводить результат команды вместо командной строки.

В этом случае вам не нужна echoили подстановка команды, и вы можете изменить сценарий на следующий:

while IFS= read -r ports; do
show lldp neighbor-info $ports | inc Chassis-Desc >> output.txt
sleep 2
done < lldp-list.txt
1
28.04.2021, 22:58

Теги

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