[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Ceci est une ancienne révision du document !


BASH ou le Bourne Again Shell

Qu'est ce Qu'un Shell?

Ouais, c'est quoi donc le Shell? Et bien, le Shell est fondamentalement un environnement utilisateur de lignes de commande. En substance, il s'agit d'une application qui s'exécute lorsque l'utilisateur se connecte et lui permet d'exécuter des applications supplémentaires. À certains égards, le Shell est très similaire à une interface utilisateur graphique, en ce sens qu'il fournit un cadre pour l'exécution des commandes et lancer des programmes. Il existe une panoplie de Shell incluse avec une installation complète de Slackware. Toutefois dans ce livre, nous allons seulement discuter de bash (1), le Bourne Again Shell. Les utilisateurs avancés peuvent envisager d'utiliser le puissant zsh (1), et les utilisateurs familiers avec les systèmes UNIX plus anciens peuvent apprécier ksh. Le masochiste pourrait vraiment choisir le csh, mais les nouveaux utilisateurs devraient s'en tenir à bash.

Variables d'Environnement

Tous les Shells faciltent l'execution de certaines tâches pour l'utilisateur en pemettant de garder une trace a travers les variables d'environnement. Une variable d'environnement est tout simplement un nom court pour certains bits d'information que l'utilisateur souhaite stocker et utiliser plus tard. Par exemple, la variable d'environnement PS1 specifie a bash comment formater son invite de commande.D'autres variables peuvent servir a definir le fonconnement de certaines applications. Par exemple, la variable LESSOPEN indique a less d'executer le tres utile pre-processeur lesspipe.sh dont nous avons discute, et LS_OPTIONS active les options de couleur d'affichage pour ls.

Il est tres aise de definir notre propre variable d'environnement. bash contient deux fonctions natives permettant de gerer cela: set et export. En outre, une variable d'environnement peut etre supprimer en utilisant unset. (Pas de panique si vous supprimer une variable d'environnement par megarde. La deconnexion du terminal suivie d'une reconnexion restaurera les variables d'environnement par defaut.) Une variable d'environnement peut etre reference en placant tout simplement le symbole ($) devant la variable.

darkstar:~$ set FOO=bar
darkstar:~$ echo $FOO
bar

La difference principale entre set et export est que export exportera (naturellement) la variable dans tous les sous-shells subsequents. (Un sous-shell est tout simplement un shell s'executant a l'interieur d'un autre shell, shell parent.) Cette difference est notable lorsque vous utilisez la variable PS1 qui controle l'invite de commade bash.

darkstar:~$ set PS1='FOO '
darkstar:~$ export PS1='FOO '
FOO 

Une des variables d'environnement tres importantes dans bash et d'autres shells est PATH. PATH est tout simplement la liste des repertoires consultes lorsqu'une application a besoin de s'executer. Par exemple, top(1) se touve dans /usr/bin/top. Vous pouvez l'exécuter simplement en spécifiant son chemin d'accès complet à elle, mais si /usr/bin est dans votre variable PATH, bash verifiera ce repertoire si vous ne spécifiez pas de chemin d'accès complet. VCe comportement est bien visible lorsque vous essayez d'executer un programme qui n'est pas dans votre PATH d'utilisateur normal, par exemple, ifconfig(8).

darkstar:~$ ifconfig
bash: ifconfig: command not found
darkstar:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin:.

Above, you see a typical PATH for a mortal user. You can change it on your own the same as any other environment variable. If you login as root however, you'll see that root has a different PATH. Ci-dessus, vous voyez un PATH typique pour un utilisateur normal. Vous pouvez le modifier comme n'importe quelle autre variable d'environnement. Cependant, si vous vous connectez en tant que root, vous verrez que le PATH de root est différent.

darkstar:~$ su -
Password: 
darkstar:~# echo $PATH
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin

Les Caractères Génériques

La Touche de Tabulation

Redirection d'Entrée et de Sortie

Gestion de Taches

Les Terminaux

Personalisation

Navigation

Chapitre précédent : L'invite de commandes (shell)

Chapitre suivant : Contrôle des processus

Sources

  • Publié iniialement par Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
  • Traduction Initiale de escaflown

 fr:slackbook:bash ()