Aqui estão algumas outras maneiras de criar um arquivo de várias linhas usando o comando echo
:
echo "first line" > foo
echo "second line" >> foo
echo "third line" >> foo
em que o segundo e o terceiro comandos usam o operador de redirecionamento >>
,
que faz com que a saída do comando seja anexada (adicionada) ao arquivo
(que já deveria existir, até este ponto).
Ou
(echo "first line"; echo "second line"; echo "third line") > foo
onde os parênteses agrupam os comandos echo
em um subprocesso,
que parece e age como qualquer programa único que gera várias linhas
(como ls
, por exemplo).
Uma variação sutil acima é
{ echo "first line"; echo "second line"; echo "third line";} > foo
Isto é ligeiramente mais eficiente que a segunda resposta naquele
não cria um subprocesso. No entanto, a sintaxe é um pouco mais complicada:
Observe que você deve ter um espaço após o {
e um ponto-e-vírgula antes do }
.
Veja Quais são os operadores de controle e redirecionamento do shell? para obter mais informações.