J'ai regardé autour de moi et j'ai mordu pour une réponse à cette question mais je ne semble pas la trouver (ce qui est bizarre).
Ma question est, existe-t-il un moyen simple de redémarrer la session bash à partir du terminal sur mac. Je veux juste le même comportement que si je fermais l'application de terminal et la redémarrais (toutes les variables sont réinitialisées, source .bash_profile, etc.).
Je sais comment générer .bash_profile, mais ce n'est pas ce que je veux. L'une des raisons pour lesquelles je veux le faire est qu'un plugin pour mon invite bash a du code qui empêche les couleurs d'être chargées plusieurs fois. Par conséquent, le sourcing .bash_profile ne recharge pas les variables de couleur et je dois redémarrer l'application de terminal pour que les modifications soient effectives.
exec bash
devrait remplacer le processus Shell actuel par (une nouvelle instance de) bash.
La réponse acceptée est idéale pour un shell qui utilise bash, ce qui est également ce que l'OP a demandé, cependant, j'utilise Terminal sur macOS avec un shell non par défaut (zsh) et j'exécute la commande exec bash
n'a évidemment pas l'effet souhaité: il lance bash au lieu de mon Shell par défaut.
La commande indépendante de l'environnement serait donc exec $Shell
qui utilise la variable d'environnement $Shell
qui stocke le Shell par défaut pour l'utilisateur.
Notez également que Apple remplacera bash par zsh dans macOS Catalina afin d'avoir l'effet que l'OP cherche à exécuter soit exec zsh
ou exec $Shell
sera la voie à suivre après la mise à jour vers macOS 10.15.