Installer fish, un shell interactif agréable
Par Alexis Lefebvre le dimanche 24 mai 2009, 19:02 - Lien permanent
J'utilise la distribution Linux Ubuntu depuis environ 3 ans. J'utilisais le shell par défaut bash
sans savoir qu'on pouvait en utiliser un autre. J'ai découvert le shell fish par hasard en lisant les commentaires d'une nouvelle sur LinuxFr.org, je l'ai installé et l'ai adopté.
(cliquez sur l'image pour la voir à taille réelle)
En plus de mettre en valeur les commandes avec de la couleur, fish détaille les commandes disponibles avec apt-get
en fournissant une courte description et liste les fichiers présents dans le répertoire ~/.config/fish/
en affichant leur taille. Ceci se fait en pressant la touche de tabulation.
Installation
Installer fish se fait très facilement :
sudo apt-get install fish
Ensuite, il faut taper fish
dans un terminal pour le lancer et le tester.
Pour en faire son shell par défaut, il faut utiliser la commande chsh
:
alexis@ubuntu:~$ chsh Mot de passe : Changement d'interpréteur de commandes initial pour alexis Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée Interpréteur de commandes initial [/bin/bash]:
On entre /usr/bin/fish
et fish devient le shell par défaut, j'ai dû redémarrer mon ordinateur pour que le changement soit effectif, peut-être qu'un redémarrage du serveur graphique suffit à l'appliquer.
Aller plus loin
Là où bash utilise le fichier de configuration ~/.bashrc
, fish utilise le fichier ~/.config/fish/config.fish
qui n'existe pas par défaut. C'est lui qui permet de personnaliser le shell de l'utilisateur, je me suis servi de la documentation de fish pour l'écrire.
nano se chargera de créer le fichier :
nano ~/.config/fish/config.fish
Dans ce fichier, j'ajoute un code d'accueil qui donne l'heure courante :
cowsay "Bonjour $USER, nous sommes le "(date +'%A %e %B %Y')" et il est "(date +'%H')":"(date +'%M')":"(date +'%S')
Cette commande affiche ceci lors de l'ouverture d'un shell :
_________________________________________ / Bonjour alexis, nous sommes le dimanche \ \ 24 mai 2009 et il est 18:38:24 / ----------------------------------------- \ __ \ (oo)\___ (__)\ )\/\ ||w | || ||
J'insère aussi une fonction pour que grep
ajoute des couleurs aux résultats qu'il retourne :
function grep grep --color $argv end
J'enregistre le fichier et quand je redémarre un shell, la vache de cowsay
me dit bonjour et le résultat d'un diff
est coloré.
Logiciel utilisé :