¿Cómo puedo escribir líneas múltiples en un archivo llamado myconfig.conf
usando BASH?
#!/bin/bash
kernel="2.6.39";
distro="xyz";
echo <<< EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4
line ...
EOL >> /etc/myconfig.conf;
cat /etc/myconfig.conf;
EOF
, de lo contrario no se reconocerá y se encontrará con un error inesperado al final del archivo .Esto hace lo que quieres.
fuente
Si no desea reemplazar las variables, debe rodear EOL con comillas simples.
Ejemplo anterior:
fuente
Las soluciones heredoc son sin duda la forma más común de hacer esto. Otras soluciones comunes son:
y
fuente
printf
que introduce algunas variaciones más interesantes.El mecanismo a continuación ayuda a redirigir varias líneas al archivo. Mantener cadena completa bajo
"
para que podamos redirigir los valores de la variable.Contenido de
a.txt
isContenido de
b.txt
isfuente