У меня есть набор команд по конвейеру, которые работают в командной строке, но не выдают вывод при запуске в скрипте.
Команда:
STRNG=$( ip mroute show | tr -d "()," | awk ' {print "/usr/sbin/smcroute -a eth3", $1, $2, "vtun0 vtun1"}' ); echo "$STRNG"`
И выводis:
/usr/sbin/smcroute -a eth3 192.0.1.19 224.1.1.1 vtun0 vtun1
/usr/sbin/smcroute -a eth3 192.0.1.18 224.1.1.1 vtun0 vtun1
Однако, если я добавлю в скрипт ту же самую командную строку, я не получу вывод от команды echo "$STRNG"
.
Я пытаюсь сделать следующеевыполнить каждую строку в $STRNG
как команду, но по какой-либо причине она появляется $STRNG
не содержит текста в сценарии, тогда как $STRNG
содержит текст при запуске из командной строки.Я уверен, что это из-за ограниченного понимания bash.
Может ли кто-нибудь помочь мне с этим?