A chaque fois que j'ouvre un terminal bash, le code d'erreur 1 est renvoyé:
Last login: Tue Jan 15 16:19:53 on ttys000
spam@moss:~ $ echo $?
1
J'ai trouvé cela est causé par la dernière ligne de code dans mon .bash_profile
:
test -f $HOME/.debug && export profile_bash_profile='.bash_profile' || return 0
Si je supprime cette ligne, le code d'erreur 0 est renvoyé. Je ne comprends pas comment cette ligne pourrait poser problème, car je peux me procurer .bash_profile
avec le code d'erreur 0:
spam@moss:~ $ source .bash_profile
spam@moss:~ $ echo $?
0
Mettre à jour:
Est-ce que quelqu'un sait comment Mac charge ~ / .bash_profile? Je doute que Mac l’utilise quand un shell de connexion est lancé. Il semble que le return
commande ne fonctionne pas comme prévu - quand je mets return 5
comme la dernière ligne de ~/.bash_profile
et lancez un shell de connexion, il ne renvoie pas le code d'erreur 5 (et je suis sûr ~/.bash_profile
est le dernier script chargé).
.bash_profile
pour tout ce qui source d'autres fichiers (comme, par exemple, .bashrc
), puis tout ce qui est inclus par homebrew
si vous utilisez ça.
bash
charge ses fichiers de points de la même manière que sur d’autres plates-formes (en gardant à l’esprit le terminal OS X, le shell de connexion démarre toujours dans un nouvel onglet ou une nouvelle fenêtre). La seule explication qui me vienne à l’esprit est qu’il existe bien un autre fichier chargé après.bash__profile
, un dans lequel le exportéprofile_bash_profile
est utilisé et provoque une erreur (d'où le code de sortie 1 - peut-être parce que la variable var n'est pas définie sur chemin, mais uniquement sur un nom de fichier?).