Où sont les fichiers de démarrage du profil bash?

8

Je sais que vous pouvez avoir un .profileou un .bashrcfichier dans votre dossier personnel pour personnaliser le démarrage de Terminal OSH de Mac OS X 10.6.4.

Chaque fois que je démarre Terminal, il y a une ligne qui me dit "Vous avez du courrier". J'essaie de trouver où cette ligne est indiquée dans mes fichiers de démarrage, mais je ne trouve pas .bash ni .profileni .bashrcdans mon dossier d'accueil.

J'ai également lu que le fichier de paramètres globaux est dans /etc/profileet /etc/bashrc, mais ils ne semblent rien me dire:

/ etc / profile

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

/ etc / bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

BTW, il n'y a pas /etc/bash

Des idées? Merci!

hpy
la source

Réponses:

11

Cela ne répond probablement pas à la question du courrier mais voici quelques informations supplémentaires sur les fichiers de démarrage.

Recherchez-vous les fichiers dans le Finder? Assurez-vous que vous recherchez à partir d'un terminal et que vous utilisez ls -Apour que les fichiers cachés (fichiers commençant par un ' .') s'affichent.

Ce qui suit est tiré du Guide de référence Bash. Il décrit les fichiers de démarrage qui sont exécutés lorsque vous démarrez une nouvelle fenêtre de terminal dans OS X (qui est un shell de connexion interactif).

6.2 Fichiers de démarrage Bash

Cette section décrit comment Bash exécute ses fichiers de démarrage. Si l'un des fichiers existe mais ne peut pas être lu, Bash signale une erreur. Les tildes sont développés dans les noms de fichiers comme décrit ci-dessus sous Tilde Expansion (voir Section 3.5.2 [Tilde Expansion], page 19).

Les shells interactifs sont décrits dans la section 6.3 [Shells interactifs], page 75.

Appelé en tant que shell de connexion interactif, ou avec '--login'

Lorsque Bash est invoqué en tant que shell de connexion interactif, ou en tant que shell non interactif avec l' --loginoption, il lit et exécute d'abord les commandes du fichier /etc/profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_loginet ~/.profile, dans cet ordre, et lit et exécute les commandes de la première qui existe et est lisible. L' --noprofileoption peut être utilisée lorsque le shell est démarré pour inhiber ce comportement.

Lorsqu'un shell de connexion se ferme, Bash lit et exécute les commandes du fichier '~ / .bash_logout', s'il existe.

Robert S Ciaccio
la source
4

Cette ligne particulière ( You have mail) ne fait pas réellement partie du démarrage de bash mais une alerte que votre compte local sur votre ordinateur a reçu du courrier pour une raison quelconque.

Vous pouvez utiliser mailpour lire et supprimer le message ou simplement supprimer le message (très probablement un rebond ou quelque chose de développement) de/var/mail/username

Chealion
la source
4

Cette notification est configurée par la variable d'environnement MAILCHECK. Voir man bashet rechercher MAILCHECK(appuyez sur /et tapez MAILCHECKpour rechercher dans la page de manuel).

Voici l'extrait pertinent:

 MAILCHECK
              Spécifie la fréquence (en secondes) à laquelle bash vérifie le courrier. le
              la valeur par défaut est de 60 secondes. Lorsqu'il est temps de vérifier le courrier, le
              shell le fait avant d'afficher l'invite principale. Si ce
              variable n'est pas définie ou définie sur une valeur qui n'est pas un nombre
              supérieur ou égal à zéro, le shell désactive la vérification du courrier.

Pour vérifier que cette variable est bien définie, exécutez echo $MAILCHECK

Pour désactiver cette notification, ajoutez la ligne suivante à votre ~/.bashrc

unset MAILCHECK
simonair
la source