Je veux insérer une nouvelle ligne entre plusieurs instructions d'écho. J'ai essayé echo "hello\n"
, mais cela ne fonctionne pas. Il imprime \n
. Je veux la sortie désirée comme ceci:
Create the snapshots
Snapshot created
Le moyen le plus simple d'insérer une nouvelle ligne entre les instructions echo
consiste à insérer un echo
sans arguments, par exemple:
echo Create the snapshots
echo
echo Snapshot created
C'est-à-dire que echo
sans aucun argument affichera une ligne vierge.
Une autre alternative consiste à utiliser une seule instruction echo
avec l'indicateur -e
et des caractères de nouvelle ligne incorporés \n
:
echo -e "Create the snapshots\n\nSnapshot created"
Cependant, ceci n'est pas portable, car l'indicateur -e
ne fonctionne pas de manière uniforme sur tous les systèmes. Une meilleure façon de le faire consiste à utiliser printf
:
printf "Create the snapshots\n\nSnapshot created\n"
Cela fonctionne de manière plus fiable dans de nombreux systèmes, même si ce n'est pas compatible POSIX. Notez que vous devez ajouter manuellement un \n
à la fin, car printf
n'ajoute pas automatiquement de nouvelle ligne, contrairement à echo
.
Utilisez cette déclaration echo
echo -e "Hai\nHello\nTesting\n"
La sortie est
Hai
Hello
Testing
echo $'Create the snapshots\nSnapshot created\n'
Vous pouvez utiliser la commande printf (1), par exemple. comme
printf "Hello times %d\nHere\n" $[2+3]
La commande printf
peut accepter les arguments et requiert une chaîne de contrôle de format similaire (mais pas exactement identique) à celle du standard C --- printf (3) fonction ...