Chaîne multiligne dans Bash
-
Utilisez
here-document
pour créer une chaîne multiligne dans Bash - Utiliser la variable Shell pour créer une chaîne multiligne dans Bash
-
Utilisez
printf
pour créer une chaîne multiligne dans Bash -
Utilisez
echo
avec l’option-e
pour créer une chaîne multiligne dans Bash -
Utilisez
echo
pour 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
!