Вот несколько других способов создания многострочного файла с помощью 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
Это немного более эффективно, чем второй ответ, поскольку он не создает подпроцесс. Тем не менее, синтаксис немного сложнее: обратите внимание, что вы должны иметь пробел после {
и точку с запятой перед }
.
См. Каковы операторы управления и перенаправления оболочки? за дополнительной информацией.