У меня есть Баш скрипт и у меня есть строка с некоторой \n
: п не работает в Linux файл
interfaces="auto lo\niface lo inet loopback\n\n..."
Тогда я пытаюсь написать это в интерфейсах файл следующим образом:
sudo bash -c "echo -e $interfaces > /etc/network/interfaces"
Я использую -e
для отображения \n
«S, но если я открываю файл, он не показывает правильно, но если я просто вывести его на терминал работает:
auto loniface lo inet loopbacknn...
Посмотрите на http://stackoverflow.com/questions/9139401/trying-to-embed-newline-in-a-variable-in-bash – Dmitry
@ KenY-N Это не будет работать, когда строка будет заменена на аргумент 'bash -c'. 'bash' увидит это как литерал новой строки, который является командным разделителем. – Barmar
@ KenY-N Я имею в виду, если я 'эхо' его к терминалу, он работает, но не в файле. Сейчас я попробую решение @Barmar. – WasteD