Je veux écrire des textes prédéfinis dans un fichier avec les éléments suivants:
text="this is line one\n
this is line two\n
this is line three"
echo -e $text > filename
J'attends quelque chose comme ça:
this is line one
this is line two
this is line three
Mais j'ai ceci:
this is line one
this is line two
this is line three
Je suis certain qu'il n'y a pas d'espace après chacun \n
, mais comment l'espace supplémentaire sort-il?
\n
sur chaque ligne, vous avez déjà appuyé sur la nouvelle ligne pour passer à la nouvelle ligne
\n
. Alors pourquoi mettre la ligne suivante dans une nouvelle ligne? Simplementtext="this is line one\nthis is line two\nthis is line three"
\n
à la fin de chaque ligne entraîne l'exécution de la sortie sur une seule ligne.
"$text"
de la ligne d'écho est crucial. Sans eux, aucune des nouvelles lignes (à la fois littérales et «\ n») ne fonctionne. Avec eux, ils le font tous.
text="this is line one\nthis is line two\nthis is line three"
la même ligne ..? (sans aucune entrée)