GNU/Linux >> Tutoriels Linux >  >> Linux

Ajout de caractères de nouvelle ligne aux variables shell unix

Autre que $'\n' vous pouvez utiliser printf aussi comme ceci :

VARIABLE="Foo Bar"
VARIABLE=$(printf "${VARIABLE}\nSomeData")
echo "$VARIABLE"

SORTIE :

Foo Bar
SomeData

Une technique courante est :

nl='
'
VARIABLE="PreviousData"
VARIABLE="$VARIABLE${nl}SomeData"

echo "$VARIABLE"
PreviousData
SomeData

Également courant, pour éviter que votre chaîne ne commence par inadvertance par une nouvelle ligne :

VARIABLE="$VARIABLE${VARIABLE:+$nl}SomeData"

(L'expression ${VARIABLE:+$nl} se développera en une nouvelle ligne si et seulement si VARIABLE est définie et non vide.)


VAR="one"
VAR="$VAR.\n.two"
echo -e $VAR

Sortie :

une.
.deux


Essayez $'\n' :

VAR=a
VAR="$VAR"$'\n'b
echo "$VAR"

me donne

a
b

Linux
  1. Comment identifier les répertoires de travail à l'aide de caractères et de variables Shell

  2. Tableaux dans Unix Bourne Shell ?

  3. Script Shell avec fonction et paramètre comme variables ?

  4. Fonctions dans les variables shell ?

  5. Insérer une nouvelle ligne après une séquence de chiffres interrompue Awk/unix/shell Scripting ?

Comment utiliser des variables dans les scripts Shell

Comment utiliser la commande echo sans retour à la ligne

Tracer les origines des signaux UNIX ?

Modifier le script shell pendant son exécution

Comment obtenir les n premiers caractères de chaque ligne dans le fichier de données Unix

linux shell wc -c compte les caractères +1