Aqui estão algumas outras maneiras de criar um arquivo de várias linhas usando o echocomando:
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 echocomandos 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.