suivant: Historique, complétion, variables d'environnement,
monter: L'interface de commande (shell)
précédent: Choix du shell présenté
  Table des matières
Le shell définit les notions suivantes:
- répertoire par défaut
- il s'agit du répertoire appartenant à
l'utilisateur, accessible en tapant cd. Il correspond à la
variable d'environnement $HOME et à l'abréviation
~/. Un tel répertoire est une propriété d'un utilisateur.
- répertoire courant
- le répertoire courant correspond à un dossier ouvert
sur votre bureau. Pour connaître le répertoire courant, il faut taper
pwd. Pour changer de répertoire courant, on utilise
cd. Un répertoire courant est une propriété d'un processus.
- variables
- Les variables d'environnement
contiennent des informations comme le type de terminal et sont
modifiables avec env, set et
peuvent être exportées aux sous-processus du shell à l'aide de
export. On obtient la valeur d'une variable en la
précédant d'un dollar ($). Les variables
d'environnement sont une propriété du processus.
- historique
- Il est possible de voir les commandes tapées dans le
passé avec la commande history. De plus les touches du
curseur haut et bas permettent de se promener dans l'historique des
commandes introduites. On peut également faire des recherches dans
l'historique: par exemple à l'aide de CTRL-R puis en entrant
du texte on fait une recherche inverse dans l'historique.
On peut rejouer de l'historique facilement à l'aide de
!! pour répéter la dernière commande,
!23 pour la 23
commande ou
!mor pour la dernière commande débutant par mor.
- motifs du shell
- Il est possible d'utiliser * et
?, entre autres, comme jokers remplaçant respectivement une suite de
caractères quelconque ou un caractère. Enfin le caractère
~ sera remplacé par votre répertoire par défaut (typiquement:
/users/loginname
où loginname est votre nom d'utilisateur).
De même ~user sera remplacé par le répertoire par défaut de
l'utilisateur user, bien souvent
/users/user23.
Notons que ces motifs, jokers ou anglais: wildcards du shell ne sont pas exactement ce que l'on nomme souvent sous UNIX
les expressions régulières, regexps. Celles-ci sont plus complexes
mais également plus puissantes.
- complétion
- La touche TAB permet de compléter le nom d'une commande ou d'un fichier
en cours de saisie s'il n'y a pas de possibilité de confusion et que
le répertoire courant est lisible.
- raccourcis
- La commande alias permet de définir des équivalents
de commandes. Par exemple alias dir ls permet de taper
dir à la place de ls. Pour supprimer un
alias, on utilise unalias. On peut aussi précéder la
commande dont on veut utiliser la version originale par un
(ou par le sentier absolu, p.ex. /bin/ls).
- scripts
- Il est possible de créer des fichiers de texte contenant une
suite de commandes que l'on veut appeler (exécuter) de manière répétitive.
On appelle ce genre de fichiers de commandes également des batches.
- redirections
- Pour sauvegarder la sortie des commandes, il
est possible d'utiliser les symboles de redirection ,
et , correspondant respectivement à la
création, l'ajout à un fichier remplaçant la sortie standard écran et
la lecture d'un fichier remplaçant l'entrée standard clavier. La
notion de pipe (ou tuyau/tube) est aussi intéressante, permettant
de connecter la sortie standard d'une commande à l'entrée d'une autre
commande.
- correction
- Certains shells peuvent corriger de façon limitée la syntaxe
des commandes et éventuellement des arguments. Il présente alors une
possibilité, et demande y/n/e24
- commandes multiples
- On peut indiquer des séquences de commandes
avec le séparateur ; ou à l'aide de scripts. On peut
également exécuter conditionnellement des commandes avec les séparateurs
&& et ||: dans le premier cas,
on n'exécute la deuxième commande que si la première a réussi. Dans le second,
on n'exécute la deuxième commande que si la première n'a pas réussi (son
code de retour est différent de zéro).
- job control
- Il est possible de gérer plus d'un seul processus ou
job dans le même shell.
- expansion
- L'expansion des arguments des commandes, particulièrement
en présence d'expressions régulières (regexp) est effectuée
par le shell. Il faut donc précéder d'un les
éventuels caractères jokers à interpréter par la commande
(p.ex. grep). On peut aussi entourer l'argument par des guillemets,
voir plus bas.
- code de résultat
- Chaque commande offre un code de résultat
qui peut être traité par l'appelant. Le code de retour est stocké
dans la variable d'environnement spéciale $?. Lorsque
cette valeur vaut zéro, la commande précédente a réussi.
- guillemets
- Le rôle des guillemets est multiple: les guillemets
doubles " empêchent l'expansion des jokers et la séparation
d'arguments par des espaces, les guillemets simples
' empêchent en plus les expansions de variables. Enfin, les
guillemets inverses (`, anglais: backtick) exécutent
la commande dans les guillemets et retournent la sortie standard comme
expansion.
- tuyaux
- Les tuyaux (anglais: pipes) permettent de connecter
la sortie d'un programme à l'entrée d'un autre, afin d'effectuer une
opération de flot complexe.
suivant: Historique, complétion, variables d'environnement,
monter: L'interface de commande (shell)
précédent: Choix du shell présenté
  Table des matières
Marc SCHAEFER
2003-03-01