Quand je fais
str="Hello Worldn===========n"
Je reçois le n
imprimé aussi. Comment puis-je avoir des nouvelles lignes alors ?
Réponse acceptée :
Dans bash
vous pouvez utiliser la syntaxe
str=$'Hello Worldn===========n'
Guillemets simples précédés d'un $
est une nouvelle syntaxe qui permet d'insérer des séquences d'échappement dans les chaînes.
Aussi printf
builtin permet d'enregistrer la sortie résultante dans une variable
printf -v str 'Hello Worldn===========n'
Les deux solutions ne nécessitent pas de sous-shell.
Si dans ce qui suit vous devez imprimer la chaîne, vous devez utiliser des guillemets doubles, comme dans l'exemple suivant :
echo "$str"
car lorsque vous imprimez la chaîne sans guillemets, les retours à la ligne sont convertis en espaces.