2011-02-14 20 views

Respuesta

77

Se puede utilizar un documento aquí:

cat <<EOF >> outputfile 
some lines 
of text 
EOF 
+0

+1: Pero funciona solo con texto fijo, no generado en secuencia de comandos. Sin sustitución de vars etc. ¿verdad? –

+13

@Valentin: Hará la sustitución de variables, aritmética y comando a menos que lo suprima citando el delimitador de apertura de esta manera, por ejemplo: ''EOF''. –

4

que suelen utilizar el llamado "documento interno" sugirió Dennis. Una alternativa es:

(echo first line; echo second line) >> outputfile 

Esto debería tener un rendimiento comparable en bash, como (....) se inicia un subnivel, pero eco es 'inline' - fiesta no se ejecuta/bin/echo, pero hace el eco por sí mismo.

Incluso podría ser más rápido porque no implica ningún exec().

Este estilo es aún más útil si desea utilizar la salida de otro comando en algún lugar del texto.

+7

para evitar la creación de una subshell, puede usar llaves para la agrupación. Simplemente recuerde finalizar la lista de comandos con un punto y coma y separar las llaves con espacios - '{echo first; echo en segundo lugar; } >> outputfile' –

+0

No lo sabía. ¡Gracias! –

Cuestiones relacionadas