Introduction : le double point en shell
Dans le monde de la programmation shell, il existe une multitude de petites astuces qui peuvent rendre nos scripts plus efficaces et élégants. Parmi celles-ci, une se distingue par sa simplicité apparente : le double point :. À première vue, ce symbole semble ne rien faire. Pourtant, il possède des fonctionnalités cachées qui peuvent transformer la manière dont tu écris et optimises tes scripts. Plongeons dans l'univers du double point et découvrons pourquoi tu devrais l'utiliser.
Un peu d'histoire
Le double point est une commande intégrée qui remonte aux premiers jours d'Unix. Dans le shell Thompson de 1971, il servait à la fois de label et de marqueur de commentaire. Aujourd'hui, il est surtout connu comme la commande nulle, c'est-à-dire une commande qui évalue ses arguments sans produire de sortie. Cela peut sembler inutile, mais cette fonctionnalité est en réalité très puissante.
Vérification des arguments requis
L'une des utilisations les plus pratiques du double point est sa capacité à simplifier la vérification des arguments dans un script. Prenons un exemple classique où un script nécessite un argument obligatoire :
``bash if [ -z "$1" ]; then echo "argument manquant, abandon !" 1>&2 exit 1 fi echo "Bonjour $1 !" ``
Avec le double point, ce script peut être simplifié ainsi :
``bash : "${1:?argument manquant, abandon !}" echo "Bonjour $1 !" ``
Ici, la syntaxe ${1:?} vérifie si $1 est vide ou non défini. Si c'est le cas, le message d'erreur est affiché et le script s'arrête avec un statut non nul.
Expansion des paramètres
Le double point peut également être utilisé pour l'expansion des paramètres avec des valeurs par défaut. Par exemple :
``bash : "${DATA_DIR:=/var/data}" ``
Cette ligne assigne /var/data à DATA_DIR si cette variable n'est pas déjà définie.
Manipulation des fichiers
Pour manipuler directement des fichiers, le double point est très utile. Par exemple, pour tronquer un fichier sans l'effacer :
``bash : > error.log ``
Cela efface le contenu de error.log sans supprimer le fichier lui-même.
Trappes et gestion des signaux
Lorsque tu veux définir une trappe sans exécuter de commande, le double point est ta solution :
``bash trap : INT ``
Cette ligne configure un piège pour le signal d'interruption (INT) sans action supplémentaire.
Conclusion
Bien qu'il semble ne rien faire, le double point en shell est un outil puissant et polyvalent. En l'utilisant judicieusement, tu peux simplifier et optimiser tes scripts de manière significative. Que ce soit pour la vérification des arguments, l'expansion des paramètres ou la gestion des fichiers, il offre des solutions élégantes et efficaces.
Discutons de ton projet en 15 minutes.