139 votes

macOS Catalina 10.15(beta) - Pourquoi ~/.bash_profile n'est pas sourcé par mon shell ?

Je veux définir la variable d'environnement que j'ai ajoutée en dessous de la ligne à ~/.bash_profile y ~/.profile mais ça n'a pas marché.

export JBOSS_HOME=/Users/{USERNAME}/Desktop/jboss7

Ensuite, quittez le terminal et ouvrez-le à nouveau en exécutant echo $JBOSS_HOME Je ne reçois rien.
enter image description here

0 votes

Je suppose que .bash_profile n'a pas été sourcé. Etes-vous sûr que votre terminal crée un fichier bash connexion shell ? Si non, .bash_profile sera ignoré.

1 votes

@user1934428 Oui, c'est vrai, je ne sais pas pourquoi le bash par défaut est changé ? !!

0 votes

Je ne comprends pas. Quel "défaut" a été modifié ? Vous n'avez pas dit quel programme Terminal vous utilisez, mais en général, vous pouvez configurer l'application Terminal pour qu'elle démarre le shell.

349voto

alexschu98 Points 3405

Apple a changé le shell par défaut en zsh. Vous devez donc renommer vos fichiers de configuration. .bashrc est maintenant .zshrc y .bash_profile est maintenant .zprofile .

4 votes

Apple est passé de bash à zshell pour des raisons de licence. thenextweb.com/dd/2019/06/04/

162 votes

C'est une expérience d'utilisateur tellement géniale que mon installation de développement se brise à chaque mise à jour d'OS-X.

2 votes

@ChrisHatton Je continue d'attendre la prochaine mise à jour pour pouvoir casser mon installation actuelle et recommencer tout depuis le début, j'attends avec impatience la prochaine version !

59voto

Rost Points 593

Si pour une raison quelconque (comme moi) vous ne voulez pas renommer/déplacer votre ~/.bash_profile vous pouvez faire les choses suivantes :

  1. Créer un nouveau fichier ~/.zprofile
  2. Type là source ~/.bash_profile
  3. Enregistrer et fermer
  4. Lancer une nouvelle session de terminal

5voto

Amin Agha Points 151

Vous pouvez simplement copier votre bash_profile existant et le nommer zprofile et il fonctionnera bien.

  • Exécutez la commande ci-dessous dans le terminal et vous êtes prêt après avoir fermé et ouvert le nouveau terminal.

cp ~/.bash_profile ~/.zprofile

5voto

ExoWanderer Points 74

J'ai créé un nouveau fichier appelé

/usr/local/bin/mybash

qui contient un script enveloppant :

/usr/local/bin/bash --init-file $HOME/.bashrc

J'ai installé ce local/bin/bash à partir de HomeBrew .

Séquence complète des événements

brew install bash
echo "/usr/local/bin/bash --init-file $HOME/.bashrc" > /usr/local/bin/mybash
chmod +x /usr/local/bin/mybash

Ensuite, j'ai ouvert les paramètres de terminal.app [cmd-comma]. Sous l'onglet General Onglet, sélectionnez le bouton radio pour Command (complete path)

Dans la zone de texte, changez le texte de /bin/zsh/ a /usr/local/bin/bash .

Example of final format

3voto

abhay anand Points 11

Après avoir fermé une fenêtre du terminal, les variables que vous avez définies dans cette fenêtre ne sont plus disponibles. Si vous souhaitez que la valeur d'une variable persiste d'une session à l'autre et dans toutes les fenêtres Terminal, vous devez la définir dans un script de démarrage du shell. Pour plus d'informations sur la modification de votre script de démarrage de l'interpréteur de commandes zsh afin de conserver les variables et autres paramètres sur plusieurs sessions, consultez la section "Invocation" de l'. page de manuel zsh .

Vous pouvez utiliser ~/.zlogin pour ajouter vos variables.

Vérifiez cette référence .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X