Solutions du chapitre Mécanismes essentiels du shell
1. Fonctionnalités diverses
a. Exercice 1 : commandes internes et externes
Les commandes umask et chmod sont-elles des commandes internes ?
$ type umask
umask is a shell builtin
$ type chmod
chmod is a tracked alias for /usr/bin/chmod
umask est une commande interne. chmod est une commande externe. La commande interne type permet de savoir si une commande possède une implémentation interne.
b. Exercice 2 : génération de noms de fichiers
Soit la liste de fichiers suivante :
$ ls
bd.class.php header.inc.php install.txt readme.txt
essai index.php mail.class.php
1. |
Afficher les noms de fichiers se terminant par .php. |
$ ls *.php
bd.class.php header.inc.php index.php mail.class.php
2. |
Afficher les noms de fichiers ayant la lettre e en deuxième position. |
$ ls ?e*
header.inc.php readme.txt
3. |
Afficher les noms de fichiers dont la première lettre est comprise entre a et e. |
$ ls [a-e]*
bd.class.php essai
4. |
Afficher les noms de fichiers qui ne commencent pas par une voyelle. |
$ ls [!aeiouy]*
bd.class.php header.inc.php mail.class.php readme.txt
Expressions étendues (ksh, bash)
En bash, il faut activer la reconnaissance des expressions étendues :
$ shopt -s extglob
5. |
Afficher les noms de fichiers qui ne se terminent... |