Outre extglob, d’autres options de la commande interne shopt permettent de modifier la création de la liste des noms d’entrées. Ces options sont : dotglob, nocaseglob, nullglob, failglob. Par défaut elles sont inactives (off).
A l’état on :
dotglob signifie que les noms d’entrées commençant par . (caractère point) seront également traités
nocaseglob signifie que les majuscules et minuscules ne seront pas différenciées
nullglob signifie qu’un modèle ne correspondant à aucune entrée sera remplacé par une chaîne vide et non par le modèle lui-même
failglob signifie qu’un modèle ne correspondant à aucune entrée provoquera une erreur.
$ pwd /home/sanchis/glob $ $ ls -la total 8 drwxr-xr-x 2 sanchis sanchis 4096 6 janv. 19:23 . drwxr-xr-x 19 sanchis sanchis 4096 6 janv. 19:22 .. -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 .sessions -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 video -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 viDEos $ $ echo p* p* => comportement par défaut $ $ shopt -s nullglob $ $ echo p* => chaîne vide $ $ shopt -s failglob $ $ echo p* bash: pas de correspondance : p* => message d’erreur $ $ echo *s* viDEos => comportement par défaut $ $ shopt -s dotglob $ $ echo *s* .sessions viDEos => fichier caché .sessions pris en compte $ $ echo *d* video => comportement par défaut $ $ shopt -s nocaseglob $ $ echo *d* video viDEos $
A l’état on, l’option noglob de la commande interne set supprime l’interprétation des caractères et expressions génériques.
$ ls -la total 8 drwxr-xr-x 2 sanchis sanchis 4096 6 janv. 19:23 . drwxr-xr-x 19 sanchis sanchis 4096 6 janv. 19:22 .. -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 .sessions -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 video -rw-r--r-- 1 sanchis sanchis 0 6 janv. 19:23 viDEos $ $ shopt -u dotglob => le fichier caché .sessions ne sera pas pris en compte $ $ echo +([[:lower:]]) * video video viDEos => interprétation des caractères et expressions génériques $ $ set –o noglob => suppression de l’interprétation $ set -o | grep noglob noglob on $ $ echo +([[:lower:]]) * +([[:lower:]]) * => aucune interprétation $