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.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>.