Знаю, что тема старая, и даже поиск выдаёт много полезного, но что-то как-то не помог мне ни один вариант. Ситуация такая - есть скрипт которым прописываются настройки на линупс маршрутизаторе(вроде бы что-то типа zebos), выглядит примерно так:
#!/bin/bash
zebos_shell < EOF
command1
command2
...
commandN
EOF
Задача в том чтобы, передать в этот список команд команды сформированные в баше. Это легко сделать для одной команды:
#!/bin/bash
my_command="somecommand"
zebos_shell < EOF
command1
command2
${my_command}
...
commandN
EOF
но не получается запихать в my_command несколько команд (с переводом строки). Вариант
my_command="somecommand1\nsomecommand2\nsomecommand3"
Почему приходится пихать всё в одну переменную: во внешнем файле будет список маршрутов и их оптимальное добавление, я, кроме как конкатенацией в цикле придумать не смог