Filtres et caractères spéciaux

 

 

Filtres

Certains caractères spéciaux ou métacaractères sont interprétés par le shell comme des filtres, pour permettre de déterminer une liste de fichiers suivant ces filtres:

- Le signe * permet de remplacer par toutes chaînes de caractères.
- Le signe ? permet de remplacer un caractère quelconque.
- […] désigne un caractère de l’ensemble précisé. [0123456789] veut dire que le caractère à l’emplacement précisé doit appartenir à l’ensemble des chiffres de la liste. Cette liste peut-être écrite avec [0-9]. L’ensemble des caractères alphanumériques peut être décrit par [0-9A-Za-z]. Une liste peut être précédée par un « ! », ce qui exclut alors ces caractères.
Exemple de commande : ls fic.dat.1[5-9] = ls fic.dat.1[56789] et affichera les fichier fic.dat.15 … à 19.

Image non trouvée !Lorsqu’on utilise ces filtres, l’interpréteur de commande effectue le remplacement de ces filtres par une liste des fichiers correspondant à ces filtres, liste qui sera ensuite soumise à la commande comme une suite d’arguments.

 

Caractères spéciaux

Il est possible d’afficher ou d’utiliser les caractères spéciaux en les faisant précéder par le caractère « \ ».
Ce caractère permettra aussi de prolonger une commande sur plusieurs lignes avant ‘enter’.

Pour tout accès à un fichier commençant par un ., ce caractère devra alors obligatoirement être précisé avant le filtre. Un point peut être utilisé pour séparer des informations.

Le point virgule ( ;) permet de concaténer sur une même ligne plusieurs commandes.

Les autres caractères spéciaux sont <, > (redirection), | (pipe) et & (processus en tâche de fond ou arrière plan) qui seront étudiés plus loin.

( cmde ) permet d'exécuter la commande dans un sous-shell

" ... " le texte sera affiché après remplacement des caractères \ , $ et `
' ... ' le texte sera affiché sans aucun remplacement des caractères spéciaux contenu dans ce texte
` ... ` substitution de commande, exécute la commande et remplace par la valeur du résultat de la sortie standard