Aqui estão algumas outras maneiras de criar um arquivo de várias linhas usando o echo
comando:
echo "first line" > foo
echo "second line" >> foo
echo "third line" >> foo
onde o segundo e o terceiro comando usam o >>
operador de redirecionamento, que faz com que a saída do comando seja anexada (adicionada) ao arquivo (que já deveria existir, neste ponto).
Ou
(echo "first line"; echo "second line"; echo "third line") > foo
onde os parênteses agrupam os echo
comandos em um subprocesso, que se 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
Isso é um pouco mais eficiente que a segunda resposta, pois não cria um subprocesso. No entanto, a sintaxe é um pouco mais complicada: observe que você deve ter um espaço após o {
ponto-e-vírgula antes do }
.
Consulte Quais são os operadores de controle e redirecionamento do shell? Para maiores informações.