Avec macOS Catalina, Apple abandonne le shell Bourne-Again (bash) pour le Z Shell (zsh). Mais la transition peut poser quelques petits désagréments visuels.
Alors, je ne vais pas parler du choix du shell, c’est assez subjectif, même si zsh est plus moderne. Mais je vais parler de la façon de gérer la transition. Par défaut, Apple va imposer zsh lors d’une nouvelle installation, mais laisser bash activé lors d’une mise à jour… avec un petit message.
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Il renvoie vers une page de support qui explique bien le problème, mais si vous n’avez pas pris la peine d’aller la lire, elle explique comment forcer zsh par défaut. Soit dans l’interface de macOS, soit – plus simple – avec une ligne de commande :
chsh -s /bin/zsh
Vous pouvez remplacer /bin/zsh
par /bin/bash
si vous voulez revenir au bash après une installation propre de macOS Catalina.
L’autre commande intéressante est celle qui permet de faire disparaître le message, si vous voulez garder le bash. Il faut éditer le fichier ~/.bash_profile
(avec la commande nano ~/.bash_profile
par exemple) et ajouter cette ligne.
export BASH_SILENCE_DEPRECATION_WARNING=1
Hello,
Si on souhaite garder bash, le mieux est d’installer une version récente via Homebrew.
De plus, le shebang correct dans les scripts est #!/usr/bin/env bash et non #!/bin/bash sauf si on veut explicitement forcer l’utilisation de /bin/bash.
Apple est passé à zsh parce qu’ils ne prennent pas un bash récent, pour une raison X ou Y que j’ignore, peut-être un problème de licence.
zsh n’est pas un shell récent, il est même presque aussi vieux que bash.
oh ! mais il faut plutôt installer Oh My ZSH c’est encore mieux ! :-o