Mise à jour : Debian 10.3
Echo : Afficher une ligne de texte
Sommaire
Afficher une ligne de texte et passer à la ligne
$ echo Nous sommes le
Nous sommes le
$
$ echo -n Nous sommes le
Nous sommes le $
$ echo "Nous sommes le $(date)"
Nous sommes le jeu. 06 janv. 2022 22:52:51 CET
$ var="lundi"
$ echo "Nous sommes $var"
Nous sommes lundi
Pour que les métacaractères soient considérés comme des caractères standards, utiliser
Soit le caractère d'échappement contreslash avant chaque métacaractère : Exemple
$ echo Apostrophes \' Guillemets \" Parenthèses \( Contreslash \\
Apostrophes ' Guillemets " Parenthèses ( Contreslash \
$ echo Espaces \ \ \ \ \ \ multiples Plus grand \> Plus petit \< Pipe \|
Espaces multiples Plus grand > Plus petit <
$ echo 'Espaces multiples Plus grand > Plus petit < Pipe | $(date)'
Espaces multiples Plus grand > Plus petit < Pipe | $(date)
$ echo "Espaces multiples Plus grand > Plus petit < Pipe | $(date)"
Espaces multiples Plus grand > Plus petit < Pipe | mar. 15 févr. 2022 14:00:12 CET
Lorsque la commande echo est passée avec l'option -e, les caractères dans le texte après \ sont déspécifiés
\\ Contre-slash
\b Backspace - espace arrière
\c Suppression du passage à la ligne
\n Passage à la ligne
\t Tabulation horizontale
\v Tabulation verticale
\0NNN Caractère ascii dont le code octal est NNN
\xHH Caractère ascii dont le code hexa est HH
\033[code_couleur Texte en couleur
Passage à la ligne
$ echo -e "Première ligne \nDeuxième ligne\nTroisième ligne"
Première ligne
Deuxième ligne
Troisième ligne
Suppression du fin de ligne (alternative à echo -n )
$ echo -e "Première ligne \c" ; echo "Sur la même ligne"
Première ligne Sur la même ligne
Tabulation horizontale
$ echo -e 'Une tabulation \tUne tabulation \tUne tabulation'
Une tabulation Une tabulation Une tabulation
Caractères ASCII définis en octal
$ echo -e '\0101 \0102 \0103'
A B C
Caractères ASCII définis en hexa
$ echo -e '\x41 \x42 \x43'
A B C
Black 0;30 Dark Gray 1;30
Red 0;31 Light Red 1;31
Green 0;32 Light Green 1;32
Brown/Orange 0;33 Yellow 1;33
Blue 0;34 Light Blue 1;34
Purple 0;35 Light Purple 1;35
Cyan 0;36 Light Cyan 1;36
Light Gray 0;37 White 1;37
$ echo -e "Ceci_sans_couleur \033[0;31m Ceci en rouge \
\033[0;32m Ceci en vert \033[0m Ceci_sans_couleur"
$ Red='\033[0;31m'; Green='\033[0;32m'; Nocolor=
'\033[0m'
$ echo -e "Ceci_sans_couleur ${Red}Ceci en rouge ${Green}Ceci en vert ${Nocolor}Ceci_sans_couleur"
Ceci_sans_couleur Ceci en rouge Ceci en vert Ceci_sans_couleur
Création d'un nouveau fichier : Redirection simple >
$ echo "Nouveau fichier>démo.txt
$ cat démo.txt
Nouveau fichier
Ajout à la fin d'un fichier : Redirection double >>
$ echo "Ajout >> démo.txt
$ cat démo.txt
Nouveau fichier
Ajout
$ type printf
printf est une primitive du shell
$ printf --help
$ man printf
$ printf "Un deux trois quatre"
Un deux trois quatre$
Noter que par défaut printf n'ajoute pas de passage à la ligne
$ printf -v line "Un deux trois quatre"
$ printf "$line"
Un deux trois quatre
$ printf "Un deux trois quatre\n"
Un deux trois quatre
$
$ printf "Un\tdeux\ttrois\tquatre\n"
Un deux trois quatre
$
$ printf "Un deux %s quatre" trois
Un deux trois quatre
$ printf "1 2 %d 4" 3
1 2 3 4$
$ printf "1024 en hexa %X \n" 1024
1024 en hexa 400
$ printf "Exemple de réutilisation %s\n" pomme banane cerise
Exemple de réutilisation pomme
Exemple de réutilisation banane
Exemple de réutilisation cerise
$ printf "%s en décimal :%d en hexadécimal :%X\n" "Mille vingt-quatre" "1024" "1024"
Mille vingt-quatre en décimal :1024 en hexadécimal :400
$ printf "%s est un %s\n" Haricot Légume Banane Fruit Pomme Fruit
Haricot est un Légume
Banane est un Fruit
Pomme est un Fruit
$ echo "-e \ntest"
test
$ printf "%s\n " -e \ntest"
-e \ntest
$ while IFS="" read -r line;do printf "%s\n" "$line";done </etc/fstab