Shell fish

Voir la vidéo
Description Sommaire

Vous êtes plutôt nombreux à me demander à chaque nouvelle vidéo comment je fais pour avoir l'autocomplétion dans mon terminal. Cela ne vient pas de mon terminal mais plutôt du shell que j'utilise : le shell fish.

Un shell prêt à l'emploi

Fish essaie d'offrir une expérience utilisateur agréable dès son installation et sans configuration complexe. Par défaut, il offre un système de suggestions automatiques basées sur votre historique et sur le système d'auto complétion. Le système d'autocomplétion est d'ailleurs intelligent et va automatiquement parser les pages man pour vous offrir l'autocomplétion au niveau des arguments de vos commandes.
Pour ceux qui disposent d'une interface graphique, fish offre un outil de configuration visuel fish_config qui permet de gérer les couleurs, le prompt, l'historique, les fonctions et les abbréviations depuis son navigateur.

Fish dispose aussi d'une syntaxe simple permettant de combiner des commandes, d'écrire des fonctions... et vous pouvez avoir un bon aperçu des capacités de fish sur le tutoriel fournit dans la documentation.

Mais ! non compatible avec POSIX

En revanche, il est important de noter que fish n'est pas compatible avec la norme POSIX et son fonctionnement varie par rapport à bash ou sh. Cela n'est pas forcément génant si vous écrivez un script car l'utilisation d'un shebang (par exemple #!/bin/sh) vous permet de spécifier le shell à utiliser. En revanche, si vous copiez des commandes provenant d'internet cela peut poser problème.

Par exemple, pour enchainer 2 commandes :

# bash
sudo apt-get update && sudo apt-get install yarn

# fish 
sudo apt-get update; and sudo apt-get install yarn

Ou encore définir une variable d'environnement pour une commande en particulier.

# bash
NODE_ENV=production node index.js

# fish
env NODE_ENV=production node index.js

N'hésitez pas à regarder cette page pour comparer fish aux autres shells.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager