bash - uso - funcion de las comillas en programacion
¿Cómo puedo conservar las nuevas líneas en una cadena entre comillas en Bash? (1)
Añade citas para que funcione:
echo "$MYSTRING"
Míralo de esta manera:
MYSTRING="line-1
line-2
line3"
echo $MYSTRING
esto será ejecutado como:
echo line-1 /
line-2 /
line-3
es decir, hacer echo
con tres parámetros, imprimiendo cada parámetro con un espacio entre ellos.
Si agrega comillas alrededor de $MYSTRING
, el comando resultante será:
echo "line-1
line-2
line-3"
es decir, echo
con un solo parámetro de cadena que tiene tres líneas de texto y dos saltos de línea.
Esta pregunta ya tiene una respuesta aquí:
Estoy creando un script para automatizar la creación de hosts virtuales de Apache. Parte de mi guión es así:
MYSTRING="<VirtualHost *:80>
ServerName $NEWVHOST
DocumentRoot /var/www/hosts/$NEWVHOST
...
"
echo $MYSTRING
Sin embargo, los saltos de línea en el script se ignoran. Si hago eco de la cuerda, se escupe en una sola línea.
¿Cómo puedo asegurarme de que los saltos de línea se imprimen?