Вот несколько других способов создания многострочного файла с помощью echoкоманды:
echo "first line" > foo
echo "second line" >> foo
echo "third line" >> foo
где вторая и третья команды используют >>оператор перенаправления, который приводит к тому, что выходные данные команды добавляются (добавляются) к файлу (который уже должен существовать к этому моменту).
Или
(echo "first line"; echo "second line"; echo "third line") > foo
где круглые скобки объединяют echoкоманды в один подпроцесс, который выглядит и действует как любая отдельная программа, которая выводит несколько строк (например ls, например).
Тонкая вариация на выше
{ echo "first line"; echo "second line"; echo "third line";} > foo
Это немного более эффективно, чем второй ответ, поскольку он не создает подпроцесс. Тем не менее, синтаксис немного сложнее: обратите внимание, что вы должны иметь пробел после {и точку с запятой перед }.
См. Каковы операторы управления и перенаправления оболочки? за дополнительной информацией.