Dlaczego .profile nie jest pozyskiwany podczas otwierania terminalu?

36

Właśnie zainstalowałem Ubuntu 14.04.1 LTS.

Według .profile,

# ~/.profile: executed by the command interpreter for login shells. 
# This file is not read by bash, if ~/.bash_profile or ~/.bash_login exists.

Nie ma ~ / .bash_profile lub ~ / .bash_login.

Wydaje się, że nie otwiera źródła .profile podczas otwierania terminala.

  1. Dlaczego nie pobiera .profile podczas otwierania terminala?
  2. Dlaczego plik .profile istnieje, jeśli nie jest pozyskiwany?
  3. Skąd mam wiedzieć / kontrolować, co jest pozyskiwane po otwarciu nowego terminala?
  4. Czy po otwarciu nowego terminalu następuje „logowanie”?
  5. Gdzie jest dobre miejsce, aby dodać $ HOME / bin do mojej ścieżki? .bashrc? Czy spowoduje to problem, ponieważ plik .profile ma ten sam kod?
B Seven
źródło

Odpowiedzi:

34
  1. Ponieważ terminale zwykle nie uruchamiają domyślnie powłok logowania. Zwykle mają również opcje uruchamiania powłok logowania, które pobierają źródła .profile.
  2. Aby kontrolować zachowanie powłok logowania.
  3. Zależy od powłoki. Dla bashpatrz zbiór plików startowych .
  4. W pewnym sensie (na przykład aktualizacja danych logowania).
  5. Jeśli masz folder o nazwie binw$HOME domyślnym .profiledla Ubuntu czyni go dodać do PATH. Ponieważ .profilejest pozyskiwany przy logowaniu (nawet przy logowaniu GUI), powinien on być częścią twoich PATHpowłok dla niezalogowanych uruchomionych po ponownym logowaniu. Nie jest źle, jeśli katalog pojawia się dwukrotnie PATH, zobacz to pytanie U&L, aby uzyskać szczegółowe informacje.
muru
źródło
3
OK, teraz ma to sens. Musisz ponownie zalogować się do GUI, aby zobaczyć zmiany w .profile.
B, 7
1
@BSeven zawsze możesz pobrać go ręcznie dla każdej powłoki wiersza poleceń: . .profilelub source .profile.
muru
. .profilejest spoko i nigdy wcześniej tego nie widziałem. Nie można znaleźć wielu informacji o poleceniu okresu. Czy możesz podać odniesienie i linki do innych przydatnych skrótów? Dziękuję Ci!
B, 7
1
@BSeven dla poleceń powłoki, takich jak .lub source, możesz użyć help: help .na przykład. Ogólnie patrz Przewodnik dla początkujących TLDP Bash, rozdział 3 . Przewodnik dla początkujących Bash jest w niektórych miejscach nieco przestarzały, ale dobry na początek. Lub zobacz inne linki w jednej z moich innych odpowiedzi .
muru
8

Odkryłem, że muszę edytować profil domyślny. W terminalu kliknij Preferencje> Profile> Edycja> Polecenie> Uruchom polecenie jako powłokę logowania

Następnie nowe terminale będą pobierać skrypt .profile .

wprowadź opis zdjęcia tutaj

Billious
źródło
1
IIUC jest to włamanie, ponieważ zwykle plik .profile powinien zostać pobrany przed uruchomieniem terminala GUI i zbędne jest jego ponowne pobieranie za każdym razem, gdy odradzasz się okno terminala.
Mu Mind