Cuando lo hago
str="Hello Worldn===========n"
Obtengo el n impreso también. ¿Cómo puedo tener nuevas líneas entonces?
Respuesta aceptada:
En bash puedes usar la sintaxis
str=$'Hello Worldn===========n'
Comillas simples precedidas por $ es una nueva sintaxis que permite insertar secuencias de escape en cadenas.
También printf incorporado permite guardar la salida resultante en una variable
printf -v str 'Hello Worldn===========n'
Ambas soluciones no requieren una subcapa.
Si a continuación necesita imprimir la cadena, debe usar comillas dobles, como en el siguiente ejemplo:
echo "$str"
porque cuando imprime la cadena sin comillas, las nuevas líneas se convierten en espacios.