Comment passer de Bash à Fish Shell sous Linux



De nombreux utilisateurs s’appuient sur Bash dans leur terminal, ce qui peut limiter leur expérience. L’environnement Bash est souvent considéré comme basique et dépourvu de fonctionnalités modernes dès le départ. Pour une expérience terminale plus enrichissante, il est conseillé d’envisager de passer de Bash à Fish Shell.

Installation de Fish Shell

Avant de remplacer Bash par Fish Shell comme interpréteur de commandes par défaut, il est nécessaire de l’installer sur votre système Linux. Heureusement, Fish est très populaire et des paquets sont disponibles pour la plupart des distributions Linux. Ouvrez un terminal et exécutez la commande appropriée pour votre distribution:

Ubuntu

sudo apt install fish

Debian

sudo apt-get install fish

Arch Linux

sudo pacman -S fish

Fedora

sudo dnf install fish

OpenSUSE

sudo zypper install fish

Autres distributions Linux

Fish est un projet qui existe depuis un certain temps, malgré ses fonctionnalités relativement récentes. De ce fait, il est aisé de l’installer sur la plupart des distributions. Pour l’installer, ouvrez votre terminal et recherchez « fish » ou « fish shell » dans votre gestionnaire de paquets. Sinon, vous pouvez consulter la page officielle Github pour compiler Fish à partir du code source.

Transition de Bash à Fish Shell

L’adoption de Fish comme interpréteur de commandes par défaut peut nécessiter une période d’adaptation car il diffère considérablement de Bash. Contrairement à de nombreuses autres alternatives (telles que Zsh, Ksh, etc.), Fish n’est pas basé sur Bash. Cette conception unique signifie que certaines commandes pourraient ne pas fonctionner en raison de différences de syntaxe, et vous devrez peut-être ajuster certaines habitudes lors de l’utilisation du terminal.

Heureusement, il existe une documentation complète qui détaille toutes les subtilités de Fish et son environnement. Elle explique la syntaxe de Fish, la gestion des pipes et bien d’autres aspects importants. Si vous envisagez de faire le changement, il est fortement recommandé de la consulter.

Une fois familiarisé avec les spécificités de Fish, vous pouvez ouvrir un terminal et modifier le shell par défaut de votre utilisateur. Pour cela, exécutez la commande `chsh`. Veillez à ne pas l’utiliser avec `sudo`, car cela pourrait modifier le shell par défaut de l’utilisateur root au lieu du vôtre.

chsh -s /usr/bin/fish

Cette commande attribuera le nouveau shell à votre utilisateur. Pour accéder instantanément à Fish avec votre utilisateur, tapez simplement « fish » dans le terminal. Sinon, redémarrez votre ordinateur pour finaliser le changement. Après le redémarrage et la reconnexion, ouvrez un nouveau terminal. Si tout s’est déroulé correctement, Fish devrait être votre nouveau shell par défaut.

Configuration de Fish

Bien que vous ayez migré vers Fish Shell, quelques réglages supplémentaires peuvent être nécessaires. La première étape consiste à créer un nouveau répertoire de configuration.

mkdir -p ~/.config/fish

Ensuite, créez un fichier de configuration à l’intérieur de ce nouveau répertoire:

touch ~/.config/fish/config.fish

L’utilisation de `touch` crée un fichier de configuration vierge pour Fish Shell. Vous pouvez maintenant y ajouter vos configurations personnalisées. Pour la plupart des utilisateurs, la seule modification nécessaire est la désactivation du message de bienvenue. Pour cela, ajoutez la ligne suivante à la configuration:

echo 'set fish_greeting ""' >> ~/.config/fish/config.fish

Sauvegarde de la configuration de Fish

Configurer Fish sur plusieurs ordinateurs peut s’avérer fastidieux, car une nouvelle configuration est nécessaire pour chaque PC. Une méthode plus rapide est de créer une sauvegarde du fichier de configuration et de la restaurer sur les ordinateurs où vous prévoyez d’utiliser Fish. Pour sauvegarder votre configuration, exécutez cette commande:

cp ~/.config/fish/config.fish ~/Documents/

Pour restaurer la configuration, transférez le fichier sur votre nouvel ordinateur, placez-le dans le dossier `Documents` et exécutez:

mkdir -p ~/.config/fish
cp ~/Documents/config.fish ~/.config/fish/config.fish

Personnalisation

Dans la plupart des cas, Fish est configuré et prêt à l’emploi. Toutefois, si vous souhaitez le personnaliser davantage, cela est possible. Exécutez la commande suivante dans votre terminal:

fish_config

Cette commande ouvrira automatiquement une nouvelle page dans votre navigateur web, présentant les différentes options de configuration de Fish.

Via cette interface, vous pourrez choisir parmi des thèmes de shell prédéfinis, configurer des variables, définir des fonctions personnalisées, consulter l’historique des commandes, créer des abréviations et des alias, et bien plus encore.

Saisie semi-automatique de Fish

La fonctionnalité la plus impressionnante de Fish est sa fonction de saisie semi-automatique. Elle surpasse de loin ce que proposent les autres shells, et elle pourrait à elle seule convaincre même les utilisateurs les plus fidèles à Bash de l’essayer. L’avantage est que cette fonctionnalité est très intuitive et ne nécessite aucune connaissance technique avancée pour être exploitée. Même les débutants en terminal peuvent en profiter pleinement.

Pour utiliser la saisie semi-automatique de Fish, ouvrez un terminal et commencez à taper une commande. Le shell tentera de la deviner au fur et à mesure de votre frappe et affinera ses propositions en fonction de nouvelles informations. Vous pouvez compléter automatiquement une commande en appuyant sur la touche flèche droite du clavier. La commande sera alors automatiquement exécutée.