Gdzie są pliki startowe profilu bash?

8

Wiem, że możesz mieć plik .profilelub .bashrcplik w swoim folderze domowym, aby dostosować uruchamianie systemu Mac OS X 10.6.4 przy użyciu terminalu.

Za każdym razem, gdy uruchamiam Terminal, pojawia się wiersz z komunikatem „Masz pocztę”. Próbuję znaleźć, gdzie ta linia jest podana w moich plikach startowych, ale nie mogę znaleźć .bash .profileani .bashrcw moim katalogu domowym.

Czytałem również, że globalny plik ustawień jest /etc/profilea /etc/bashrc, ale nie wydaje się, aby powiedzieć mi coś:

/ 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, nie ma /etc/bash

Jakieś pomysły? Dzięki!

hpy
źródło

Odpowiedzi:

11

To prawdopodobnie nie odpowiada na pytanie pocztowe, ale oto kilka informacji na temat plików startowych.

Czy szukasz plików w Finderze? Upewnij się, że szukasz z terminala i używasz ls -A, aby ukryte pliki (pliki zaczynające się od „ .”) pojawiały się.

Poniżej znajduje się przewodnik Bash Reference Guide. Opisuje pliki startowe, które są uruchamiane po uruchomieniu nowego okna terminala w systemie OS X (który jest interaktywną powłoką logowania).

6.2 Pliki startowe Bash

W tej sekcji opisano, w jaki sposób Bash wykonuje swoje pliki startowe. Jeśli któryś z plików istnieje, ale nie można go odczytać, Bash zgłasza błąd. Tyldy są rozwijane w nazwach plików, jak opisano powyżej w Rozbudowa tyldy (patrz Rozdział 3.5.2 [Rozbudowa tyldy], strona 19).

Powłoki interaktywne opisano w Rozdziale 6.3 [Powłoki interaktywne], strona 75.

Wywoływany jako interaktywna powłoka logowania lub z „--login”

Gdy Bash jest wywoływany jako interaktywna powłoka logowania lub jako nieinteraktywna powłoka z --loginopcją, najpierw czyta i wykonuje polecenia z pliku /etc/profile, jeśli plik istnieje. Po przeczytaniu tego pliku, szuka ~/.bash_profile, ~/.bash_logini ~/.profile, w tej kolejności, a odczytuje i wykonuje polecenia z pierwszego, który istnieje i jest czytelny. --noprofileOpcja może być stosowany, gdy powłoka jest uruchamiany w celu zahamowania tego zachowania.

Po wyjściu z powłoki logowania Bash czyta i wykonuje polecenia z pliku „~ / .bash_logout”, jeśli istnieje.

Robert S. Ciaccio
źródło
4

Ta konkretna linia ( You have mail) nie jest tak naprawdę częścią uruchamiania bash, ale ostrzeżeniem, że twoje lokalne konto na twoim komputerze otrzymało pocztę z jakiegoś powodu.

Możesz użyć, mailaby przeczytać i usunąć wiadomość lub po prostu usunąć wiadomość (najprawdopodobniej odesłanie lub coś z rozwoju) z/var/mail/username

Chealion
źródło
4

To powiadomienie jest konfigurowane przez zmienną środowiskową MAILCHECK. Zobacz man bashi wyszukaj MAILCHECK(naciśnij /i wpisz, MAILCHECKaby wyszukać na stronie man).

Oto odpowiedni fragment:

 MAILCHECK
              Określa, jak często (w sekundach) bash sprawdza pocztę. The
              domyślnie jest to 60 sekund. Kiedy przyjdzie czas na sprawdzenie poczty,
              Powłoka robi to przed wyświetleniem głównego monitu. Jeśli to
              zmienna jest nieustawiona lub ustawiona na wartość, która nie jest liczbą
              większa lub równa zero powłoka wyłącza sprawdzanie poczty.

Aby sprawdzić, czy ta zmienna jest rzeczywiście ustawiona, uruchom echo $MAILCHECK

Aby wyłączyć to powiadomienie, dodaj następujący wiersz do swojego ~/.bashrc

rozbrojony MAILCHECK
simonair
źródło