Votre interpréteur de commandes est la composante la plus importante de votre environnement de travail. C'est l'équivalent de COMMAND.COM sous DOS. C'est lui qui analyse les commandes que vous tapez au clavier et communique avec le reste du système d'exploitation. Vous pouvez aussi écrire des procédures, qui sont l'équivalent des fichiers .BAT de DOS.
Deux interpréteurs de commandes sont pré-installés par FreeBSD : csh et
sh. csh est utile pour le travail en ligne de commande, mais vous devriez mieux
écrire vos procédures pour sh (ou bash). echo $SHELL
vous
retourne le nom de l'interpréteur que vous utilisez actuellement.
L'interpréteur csh est commode, mais tcsh fait tout ce que fait csh et
plus encore. Il vous permet de rappeler des commandes avec les touches flèches
et de les éditer. Il sait compléter les noms de fichiers avec la touche Tab (csh
utilise la touche Echap) et il vous permet de revenir dans le répertoire où vous
étiez auparavant avec cd -
. Il est aussi plus facile de
modifier l'invite du système avec tcsh. Il vous rend la vie beaucoup plus
facile.
Voici les trois étapes pour installer un nouvel interpréteur de commandes:
Installez l'interpréteur, pré-compilé ou non, comme vous le feriez pour
n'importe quel autre logiciel. Utilisez rehash
puis
which tcsh
(en supposant que vous installiez tcsh) pour vous
assurer qu'il est bien installé.
Sous le compte root, éditez le fichier /etc/shells
,
ajoutez-y une ligne pour le nouvel interpréteur, dans notre cas
/usr/local/bin/tcsh, et enregistrez votre modification. (certaines procédures
d'installation font cela pour vous.)
Utilisez chsh
pour changer de façon permanente
d'interpréteur de commandes, ou tapez tcsh
sous l'invite
du système pour changer d'interpréteur sans ouvrir de nouvelle session.
Note: Il peut être dangereux de changer l'interpréteur de commandes du
compte root en autre chose que sh ou csh avec les premières versions de FreeBSD
et de nombreuses autres versions d'Unix; vous pourriez ne plus avoir
d'interpréteur de commandes quand le système passe en mode mono-utilisateur.
La solution est d'utiliser su -m
pour devenir root et
disposer de tcsh, parce que l'interpréteur de commandes est partie intégrante
de l'environnement. Vous pouvez rendre ce fonctionnement définitif en ajoutant
un alias dans votre fichier .tchsrc
:
Quand tcsh démarre, il lit les fichiers
/etc/csh.cshrc
et /etc/csh.login
.
Il lit aussi le fichier .login
de votre répertoire
utilisateur, ainsi que le fichier .cshrc
, à moins que vous
n'ayez un fichier .tchsrc
. Vous pouvez facilement en
créer un en copiant simplement .cshrc
dans
.tcshrc
.
Maintenant que vous avez installé tcsh, vous pouvez modifier l'invite
du système. Vous trouverez plus de détails dans les pages de manuel de tcsh,
mais voici une ligne que vous pouvez mettre dans votre fichier
.tchsrc
, qui vous dira combien de commandes vous avez
tapées, quelle heure il est, et dans quel répertoire vous vous
trouvez. Un > sera aussi
affiché si vous êtes un utilisateur ordinaire et un # si vous êtes root, mais
tcsh fait cela de toute façon:
Mettez cette ligne à la place de la ligne "set prompt" s'il y en a déjà
une, ou après la ligne "if($?prompt) then" sinon. Mettez l'ancienne ligne en
commentaire; vous pourrez toujours y revenir si vous le souhaitez. N'oubliez
pas les espaces et les guillemets. Vous pouvez forcer la relecture du fichier
.tchsrc
en tapant source .tcshrc
.
Vous pouvez obtenir la liste des autres variables d'environnement qui ont
été positionnées avec la commande env
. Le résultat vous
indiquera entre autres quels sont votre éditeur et votre gestionnaire de page
affichée par défaut, et quel type de terminal vous utilisez. Une
commande utile si vous vous connectez à distance et ne pouvez exécuter un
programme parce que le terminal n'est pas adapté est
setenv TERM vt100
.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.