Travailler avec les chemins et la substitution de commandes
Dans cette étape, vous apprendrez à utiliser la commande echo
avec la substitution de commandes pour afficher la sortie d'autres commandes.
Substitution de commandes dans Echo
La substitution de commandes vous permet de remplacer une commande par sa sortie. Cela se fait en utilisant la syntaxe $(command)
. Lorsque le shell rencontre cette structure, il exécute la commande à l'intérieur des parenthèses et remplace l'ensemble de $(command)
par la sortie de la commande.
Utilisons la substitution de commandes pour afficher votre répertoire de travail actuel :
echo "Current directory: $(pwd)"
Lorsque vous exécutez cette commande, vous devriez voir une sortie similaire à :
Current directory: /home/labex/project
Dans cet exemple, $(pwd)
est remplacé par la sortie de la commande pwd
, qui affiche votre répertoire de travail actuel.
Enregistrement de la sortie dans un fichier
Vous pouvez également rediriger la sortie de la commande echo
vers un fichier au lieu de l'afficher à l'écran. Cela se fait en utilisant l'opérateur de redirection >
.
Créons un fichier appelé path_info.txt
dans votre répertoire de projet qui contient des informations sur votre emplacement actuel :
cd ~/project
echo "Current path: $(pwd)" > path_info.txt
Cette commande créera un fichier nommé path_info.txt
dans votre répertoire de projet avec le contenu "Current path: /home/labex/project" (ou votre chemin actuel, quel qu'il soit).
Pour vérifier le contenu du fichier, vous pouvez utiliser la commande cat
:
cat path_info.txt
Vous devriez voir une sortie similaire à :
Current path: /home/labex/project
L'opérateur >
redirige la sortie de la commande echo
vers le fichier spécifié. Si le fichier existe déjà, il sera écrasé. Si vous souhaitez ajouter du contenu à un fichier existant au lieu de l'écraser, vous pouvez utiliser l'opérateur >>
.
Par exemple, ajoutons la date et l'heure à notre fichier :
echo "Current date and time: $(date)" >> path_info.txt
Vérifions maintenant à nouveau le contenu du fichier :
cat path_info.txt
Vous devriez voir les deux lignes :
Current path: /home/labex/project
Current date and time: Wed Jan 5 10:15:30 UTC 2023
(La date et l'heure réelles refléteront la date et l'heure actuelles de votre système.)