(pour les machines du SCRIPT 2005-2006)
Nous vous proposons quelques modifications de votre configuration personnelle pour rendre le travail avec le shell plus agréable et plus efficace. Quelques avantages:,
c03:/usr/me/Desktop(1)>
pwd
).exit
, ou bien derrière la commande
return
à la fin de la procédure
main()
.)La mise en place de la nouvelle configuration est en soi déjà un petit exercice qui vous permet de voir si vous connaissez déjà suffisamment bien les outils de base d'UNIX.
Pour passer à la nouvelle configuration, vous devez
exemple_zshrc
en .zshrc
exemple_myprofile
en .myprofile
exemple_alias
en .alias
echo
'exec zsh' >.bashrc
(ceci à pour effet de remplacer le
bash
que vous utilisiez jusqu'à maintenant par le
zsh
). Si vous ne voyez pas comment faire, cherchez un peu dans les leçons sur la pratique d'UNIX avant de nous demander.
Voici une description succinte de la structure de la nouvelle
configuration, et de ce qu'elle améliore. Il n'est pas indispensable
de l'avoir entièrement comprise pour l'utiliser, sauf si vous
souhaitez pouvoir la modifier ou la compléter. Il est néanmoins
recommandé de la lire une fois, notamment la partie sur les
alias
. En effet, vous pouvez facilement ajouter vos
propres alias
pour abréger les commandes les plus
utilisées. Le but de cette description est de vous donner une idée du
fonctionnement des fichiers de configuration.
Le comportement du shell et des commandes UNIX peut être modifié pour
l'adapter à l'environnement utilisé (quelle est l'imprimante par
défaut ? Dans quels répertoires chercher les commandes ?) et aux
préférences personnelles (éditeur préféré, commandes abrégées,
affichage en couleurs, informations contenues dans le prompt). Les
préférences globales (valables pour toutes les commandes et le shell)
sont stockées dans des variables (que vous pouvez voir à l'aide de la
commande env
pour "environment"). Par exemple, le
nom complet de votre editeur préféré est contenu dans la variable
EDITOR
:
ordi:~> echo $EDITOR
/usr/bin/emacs
(par exemple). On peut modifier ce genre de variable de manière durable dans
.myprofile
.
En plus de cela, vous savez que le comportement de la plupart des
commandes UNIX peut être modifié par des options qu'on ajoute à la
commande lors du lancement (ls -l
ne donne pas
le même résultat que ls
). Certains programmes permettent
de stocker les options qu'on voudrait toujours avoir dans une variable
(LS_OPTIONS
pour ls
). D'autres permettent de
les modifier après le lancement du programme (commande
setopt
pour le zsh
).
Finalement, de nombreux programmes sauvegardent les préférences de
l'utilisateur pour les recharger au lancement suivant (xemacs
par exemple stocke les préférences dans le répertoire .xemacs
).
Cela a généralement peu de sens de modifier cette sauvegarde directement
(c'est plus confortable à partir du programme lui-même), et peu même être
difficile puisque chaque programme a sa propre manière de stocker ces
informations. Nous n'allons donc pas utiliser cette possibilité.
Les réglages sont regroupés dans des
fichiers de configuration, qui sont lus au lancement d'un shell
ou d'un programme. Pour ne pas que ces fichiers "polluent" le
répertoire de base de l'utilisateur, leurs noms commencent par un
point. Ceci a pour effet de les rendre invisibles (ls
ne
les affiche pas), sauf si on demande explicitement à les voir
(ls -a
).
more
ou less
, les modifier si vous voulez
avec votre éditeur préféré (nedit
, kwrite
,
xemacs
, ...) et en tester des morceaux en les tapant au
prompt d'un shell.
Remarque: si vous modifiez les fichiers de configuration, n'oubliez
pas que les changements n'affecteront que les shells lancés
ultérieurement. Pour recharger la configuration dans un shell qui
tourne déjà, tapez source .zshrc
.zshrc
.zshrc
s'il s'agit de zsh
,
.bashrc
pour bash
, etc.). Vous pouvez
voir que les deux premières choses que fait ce fichier, c'est de
lire .myprofile
(réglages de variables globales) et
.alias
(abbréviations de commandes). Suivent
d'autres réglages du comportement du shell, notamment ce que doit
contenir le prompt (le contenu de la variable PS1
).
.myprofile
.zshrc
. Il ajoute d'abord le répertoire courant
.
(point) à la liste PATH
des endroits où
le shell cherche les commandes que vous tapez au prompt. D'autres
réglages suivent, dont celui de l'éditeur préféré. Notez que le
caractère "#" marque le début d'un commentaire, ce qui veut dire
que le reste de la ligne est ignoré par le shell. Si vous
souhaitez, vous pouvez afficher des informations pour
l'utilisateur au lancement (echo
est l'équivalent de
printf()
en C).
.alias
ls -l
, tapez juste
ll
), vous pouvez en rajouter autant que vous
voulez. Le fichier est lu par .zshrc
, donc au
lancement du shell. Répétons que tout ce que vous voyez dans les
fichiers de configuration peut être tapé directement au prompt. Il
y a toutefois une différence importante entre la définition d'un
alias au prompt et la définition d'un alias dans ce fichier: la
première rend l'alias utilisable tout de suite, mais l'alias sera
perdu quand vous quittez le shell; la seconde définit l'alias de
manière permanente, mais uniquement dans les nouveaux shells que
vous lancerez par la suite (pas dans ceux qui tournent déjà). La
bonne démarche est donc de tester les nouveaux alias d'abord dans
un shell, et de les inscrire dans ce fichier quand on s'est assuré
qu'ils font ce qu'on veut.