.profile nie załadowany (lew osx)

11

po zainstalowaniu portów mac mój plik .profile wygląda następująco:

# Dodanie instalatora MacPorts w dniu 2011-12-04_at_20: 48: 26: dodanie odpowiedniej zmiennej PATH do użytku z MacPorts.

export PATH = / opt / local / bin: / opt / local / sbin: $ PATH

# Zakończono dostosowywanie zmiennej środowiskowej PATH do użytku z MacPorts.

Ale z jakiegoś powodu podczas otwierania terminala lub zdalnego łączenia się z serwerem (ssh) plik .profile nie jest ładowany, więc nie mogę korzystać z Macports (chyba że przejdę oczywiście do folderu Macports).

Jak mogę aktywować .profile?

Erik
źródło

Odpowiedzi:

20

Z man bash(zakładając, że jest to twoja powłoka, wpisz echo $0lub echo $SHELLw monicie, aby się dowiedzieć):

Gdy bash jest wywoływany jako interaktywna powłoka logowania, [...] szuka ~ / .bash_profile, ~ / .bash_login i ~ / .profile w tej kolejności oraz odczytuje i wykonuje polecenia z pierwszego, który istnieje i jest czytelny.

Upewnij się, że nie masz żadnego z dwóch pierwszych plików, a jeśli tak, dodaj source .loginje. Alternatywnie, po prostu dodaj exportlinię do preferowanego pliku.


Inne powłoki prawdopodobnie mają podobną mechanikę preferowania plików specyficznych dla programu powłoki niż bardziej ogólne .profile.

Daniel Beck
źródło
1
Wielkie dzięki, nie zdawałem sobie sprawy, że wykona polecenia tylko w pierwszym pliku. Dodano plik .profile źródła w moim pliku .bash_profile i działa o wiele lepiej! Dzięki
Erik
.bashrc to kolejny plik do dodania do listy
Peter
@Pete .bashrcjest ładowany przez sesje bez logowania . Typową konfiguracją jest jednak ładowanie jednej przez drugą. W OS X wszystkie powłoki uruchomione przez Terminal są domyślnie powłokami logowania, innymi niż np. Popularne emulatory terminali Linux.
Daniel Beck
1

Aby zaktualizować, spróbuj: / opt / local / bin / port selfupdate

Aby uruchomić polecenie sudo w następujący sposób: sudo port install somePackageYouNeed

Spróbuj: sudo / opt / local / bin / port install somePackageYouNeed

kodowanie
źródło