Wo sind Bash-Profil-Startdateien?

Ich weiß, dass Sie eine .profileoder .bashrcDatei in Ihrem Home-Ordner haben können, um den Start von Mac OS X 10.6.4 Terminal Bash anzupassen.

Jedes Mal, wenn ich Terminal starte, gibt es eine Zeile, die mir sagt: "Sie haben Post". Ich versuche herauszufinden, wo diese Zeile in meinen Startdateien angegeben ist, kann aber weder .bash .profilenoch .bashrcin meinem Home-Ordner finden.

Ich habe auch gelesen, dass sich die globale Einstellungsdatei in /etc/profileund befindet /etc/bashrc, aber sie scheinen mir nichts zu sagen:

/etc/profil

# 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

Übrigens, es gibt keine/etc/bash

Irgendwelche Ideen? Vielen Dank!

Antworten (3)

Dies beantwortet wahrscheinlich nicht die Mail-Frage, aber hier sind weitere Informationen zu den Startdateien.

Suchen Sie die Dateien im Finder? Stellen Sie sicher, dass Sie von einem Terminal aus suchen und verwenden ls -A, damit versteckte Dateien (Dateien, die mit einem „ .“ beginnen) angezeigt werden.

Das Folgende stammt aus dem Bash-Referenzhandbuch. Es beschreibt die Startdateien, die ausgeführt werden, wenn Sie ein neues Terminalfenster in OS X starten (das eine interaktive Anmelde-Shell ist).

6.2 Bash-Startdateien

Dieser Abschnitt beschreibt, wie Bash seine Startdateien ausführt. Wenn eine der Dateien vorhanden ist, aber nicht gelesen werden kann, meldet Bash einen Fehler. Tilden werden in Dateinamen expandiert, wie oben unter Tilde-Expansion beschrieben (siehe Abschnitt 3.5.2 [Tilde-Expansion], Seite 19).

Interaktive Shells werden in Abschnitt 6.3 [Interaktive Shells], Seite 75 beschrieben.

Wird als interaktive Login-Shell oder mit '--login' aufgerufen

Wenn Bash als interaktive Login-Shell oder als nicht-interaktive Shell mit der --loginOption aufgerufen wird, liest es zuerst Befehle aus der Datei und führt sie aus /etc/profile, falls diese Datei existiert. Nach dem Lesen dieser Datei sucht es in dieser Reihenfolge nach ~/.bash_profile, ~/.bash_loginund ~/.profile, und liest und führt Befehle aus der ersten Datei aus, die vorhanden und lesbar ist. Die --noprofileOption kann verwendet werden, wenn die Shell gestartet wird, um dieses Verhalten zu verhindern.

Wenn eine Login-Shell beendet wird, liest und führt Bash Befehle aus der Datei „~/.bash_logout“ aus, sofern vorhanden.

Diese bestimmte Zeile ( You have mail) ist nicht wirklich Teil des Starts von bash, sondern eine Warnung, dass Ihr lokales Konto auf Ihrem Computer aus irgendeinem Grund E-Mails erhalten hat.

Sie können verwenden mail, um die Nachricht zu lesen und zu löschen, oder einfach die Nachricht (höchstwahrscheinlich ein Bounce-Back oder etwas aus der Entwicklung) aus löschen/var/mail/username

Diese Benachrichtigung wird durch die Umgebungsvariable konfiguriert MAILCHECK. Sehen man bashund suchen MAILCHECK(drücken /und MAILCHECKeingeben, um in der Manpage zu suchen).

Hier der relevante Auszug:

MAILCHECK
              Gibt an, wie oft (in Sekunden) bash nach E-Mails sucht. Die
              Standard ist 60 Sekunden. Wenn es Zeit ist, nach Post zu suchen, wird die
              Shell tut dies, bevor die primäre Eingabeaufforderung angezeigt wird. Wenn dies
              Die Variable ist nicht gesetzt oder auf einen Wert gesetzt, der keine Zahl ist
              größer oder gleich Null ist, deaktiviert die Shell die Mail-Prüfung.

Um zu überprüfen, ob diese Variable tatsächlich gesetzt ist, führen Sie Folgendes ausecho $MAILCHECK

Um diese Benachrichtigung zu deaktivieren, fügen Sie die folgende Zeile zu Ihrer hinzu~/.bashrc

MAILCHECK deaktivieren