Chaîne multiligne dans Bash
- 
          
            Utilisez here-documentpour créer une chaîne multiligne dans Bash
- Utiliser la variable Shell pour créer une chaîne multiligne dans Bash
- 
          
            Utilisez printfpour créer une chaîne multiligne dans Bash
- 
          
            Utilisez echoavec l’option-epour créer une chaîne multiligne dans Bash
- 
          
            Utilisez echopour créer une chaîne multiligne dans Bash
 
Ce tutoriel montre différentes manières d’imprimer une chaîne multiligne dans un fichier en bash sans mettre d’espace supplémentaire (indentation) en utilisant here-document, la variable shell, printf, echo et echo avec Option -e.
Utilisez here-document pour créer une chaîne multiligne dans Bash
    
Here-document fournit un moyen interactif d’entrer une chaîne multiligne dans un fichier. Le EOF est connu sous le nom de Here Tag. Le Here Tag indique au shell que vous allez saisir une chaîne multiligne jusqu’au Here Tag puisqu’il agit comme un délimiteur. Le << est utilisé pour définir le Here Tag. Le > est utilisé pour la redirection d’entrée. Il redirige l’entrée vers le fichier spécifié, output.txt, dans notre cas.
cat << EOF > output.txt
> Hello
> World
> !
> EOF
Vérifions le contenu du fichier output.txt avec la commande cat.
cat output.txt
À partir de la sortie, nous voyons que chaque ensemble de mots a sa propre ligne et qu’il n’y a pas d’espaces supplémentaires.
Hello
World
!
Utiliser la variable Shell pour créer une chaîne multiligne dans Bash
Ici, nous utilisons une variable shell nommée greet. Nous avons affecté une chaîne multiligne à greet.
greet="Hello
> ,
> wolrd
> !"
La commande ci-dessous récupère la chaîne multiligne dans la variable shell, greet, et la redirige vers le fichier spécifié, multiline.txt, en utilisant >.
echo "$greet" > multiline.txt
Vérifiez le contenu du multiline.txt avec la commande cat.
cat multiline.txt
À partir de la sortie, nous voyons que chaque ensemble de mots a sa propre ligne et qu’il n’y a pas d’espaces supplémentaires.
Hello
,
wolrd
!
Utilisez printf pour créer une chaîne multiligne dans Bash
    
Nous pouvons utiliser printf avec le caractère de nouvelle ligne et rediriger la sortie vers un fichier en utilisant >. Le contenu du fichier n’a pas d’espaces supplémentaires.
#!/bin/bash
printf "Every word is on a seperate line!\n"
printf "%s\n" "Hello" "," "World" "!" > multiline.txt
Production :
Every word is on a separate line!
Imprimez le contenu de multiline.txt avec la commande cat.
cat multiline.txt
À partir de la sortie, nous voyons que chaque ensemble de mots a sa propre ligne et qu’il n’y a pas d’espaces supplémentaires.
Hello
,
World
!
Utilisez echo avec l’option -e pour créer une chaîne multiligne dans Bash
Le script bash suivant imprime les mots dans multiline.txt sans aucun espace supplémentaire. L’option -e permet l’interprétation des caractères d’échappement dans la variable greet.
#!/bin/bash
greet="Hello\n,\nWorld\n!"
echo -e $greet > multiline.txt
Imprimer le contenu de multiline.txt avec la commande cat
cat multiline.txt
À partir de la sortie, nous voyons que chaque ensemble de mots a sa propre ligne et qu’il n’y a pas d’espaces supplémentaires.
Hello
,
World
!
Utilisez echo pour créer une chaîne multiligne dans Bash
Le script ci-dessous affecte une chaîne multiligne à une variable nommée greet. Ensuite, le contenu de la variable est redirigé vers les fichiers multiline.txt à l’aide de >. Les guillemets de la variable greet préservent les nouvelles lignes.
#!/bin/bash
greet="Hello
,
World
!"
echo "$greet" > multiline.txt
Afficher le contenu de multiline.txt avec la commande cat.
cat multiline.txt
À partir de la sortie, nous voyons que chaque ensemble de mots a sa propre ligne et qu’il n’y a pas d’espaces supplémentaires.
Hello
,
World
!
