Protéger les jokers de tar contre l'expansion du shell
Pour s'assurer du bon traitement des jokers de tar
et éviter les conséquences non intentionnelles, nous devons employer des techniques pour protéger les jokers contre l'expansion du shell. Dans cette section, nous allons explorer plusieurs méthodes pour y parvenir.
Échapper les caractères spéciaux dans les commandes tar
Une manière de protéger les jokers de tar
contre l'expansion du shell est d'échapper les caractères spéciaux que le shell utilise pour l'expansion. Cela peut être fait en utilisant le caractère antislash (\
) pour "échapper" les caractères spéciaux, empêchant le shell de les interpréter.
Par exemple, au lieu d'utiliser le joker *.txt
, vous pouvez utiliser la version échappée \*.txt
dans votre commande tar
:
tar -cvf archive.tar \*.txt
Cela empêchera le shell d'étendre le joker *.txt
et passera au lieu de cela la chaîne littérale \*.txt
à la commande tar
.
Utiliser des apostrophes simples pour la protection des jokers
Une autre méthode efficace pour protéger les jokers de tar
contre l'expansion du shell est d'enfermer le motif de joker entre des apostrophes simples ('
). Cela indique au shell de traiter l'ensemble du motif comme une chaîne littérale, plutôt que d'essayer de l'étendre.
tar -cvf archive.tar '*.txt'
En utilisant des apostrophes simples, le shell ne réalisera pas d'expansion sur le joker *.txt
, et la commande tar
recevra le motif littéral en tant qu'argument.
Utiliser des guillemets doubles pour conserver les jokers
En plus des apostrophes simples, vous pouvez également utiliser des guillemets doubles ("
) pour protéger les jokers de tar
contre l'expansion du shell. Les guillemets doubles permettent une approche plus flexible, car ils conservent l'expansion du shell de certains caractères spéciaux tout en protégeant toujours les jokers.
tar -cvf archive.tar "*.txt"
Dans ce cas, le shell étendra le joker *.txt
, mais la liste résultante de fichiers sera passée à la commande tar
en tant qu'un seul argument, conservant le comportement du joker.
Combiner les techniques d'encodage pour une gestion robuste des jokers
Pour une flexibilité et une protection maximales, vous pouvez combiner l'utilisation d'apostrophes simples et de guillemets doubles pour gérer diverses situations. Cette approche vous permet de protéger sélectivement des parties spécifiques de la commande tar
tout en laissant encore place à l'expansion du shell nécessaire.
tar -cvf "archive.tar" '*.txt'
Dans cet exemple, le nom de fichier "archive.tar"
est enfermé entre des guillemets doubles pour conserver tout caractère spécial dans le nom de fichier, tandis que le joker '*.txt'
est enfermé entre des apostrophes simples pour empêcher l'expansion du shell.
En comprenant et en appliquant ces techniques, vous pouvez efficacement protéger les jokers de tar
contre l'expansion du shell, assurant ainsi un comportement fiable et prévisible lorsqu'on travaille avec la commande tar
.