Chcę zainstalować RVM na mojej maszynie Snow Leopard.
Mówi, że muszę dodać linię do mojego .bashrc
pliku (używam bash), ale gdzie jest mój .bashrc
plik?
Chcę zainstalować RVM na mojej maszynie Snow Leopard.
Mówi, że muszę dodać linię do mojego .bashrc
pliku (używam bash), ale gdzie jest mój .bashrc
plik?
Odpowiedzi:
Jeśli chodzi o problem z .bashrc
powyższym:
W większości systemów ~/.bashrc
jest używany tylko przy uruchamianiu interaktywną bez logowania skorupę . Jednak po uruchomieniu nowej powłoki często jest to interaktywna powłoka logowania . Ponieważ jest to powłoka logowania , .bashrc
jest ignorowana. Aby zachować spójność środowiska między powłokami niezalogowanymi i powłokami logowania, musisz je pobrać .bashrc
ze swojego .profile
lub swojego .bash_profile
.
Zobacz Podręcznik referencyjny Bash, sekcja 6.2 Pliki startowe Bash
Wywoływany jako interaktywna powłoka logowania lub --login
Gdy Bash jest wywoływany jako interaktywna powłoka logowania lub jako nieinteraktywna powłoka z opcją --login, najpierw czyta i wykonuje polecenia z pliku / etc / profile, jeśli plik ten istnieje. Po odczytaniu tego pliku szuka ~ / .bash_profile, ~ / .bash_login i ~ / .profile, w tej kolejności, i odczytuje i wykonuje polecenia z pierwszego, który istnieje i jest czytelny.
Wywoływany jako interaktywna powłoka niezalogowana
Po uruchomieniu interaktywnej powłoki, która nie jest powłoką logowania, Bash czyta i wykonuje polecenia z ~ / .bashrc, jeśli plik istnieje.
Zwykle plik ~ / .bash_profile zawiera wiersz
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
po (lub przed) inicjalizacjach związanych z logowaniem.
Na moim Macu (z systemem Leopard) nie było linii do źródła ~/.bashrc
. Musiałem dodać tę funkcjonalność samodzielnie.
W niektórych systemach i innych systemów operacyjnych, .bashrc
jest pozyskiwane z globalnym /etc/profile
lub /etc/bash_profile
, czy odbywa się za pomocą plików szablonów z /etc/skel
.
Aby być uczciwym rozróżnienie .bashrc
i .bash_profile
nie jest dobrze rozumiane przez społeczność. Kiedy wielu programistów mówi „Dodaj to do .bashrc”, tak naprawdę mają na myśli „Dodaj to do .bash_profile”. Chcą funkcjonalność zostać dodany do logowania skorupy (co jest .bash_profile
), a nie do nie-logowania powłoki. W rzeczywistości zazwyczaj nie ma to znaczenia, a umieszczenie konfiguracji w niej .bashrc
jest dopuszczalne.
Okazuje się, że w Mac OS X Snow Leopard, a także Mac OS X Lion, ładowany plik nazywa się .profile
, a nie .bashrc
.
To, co chcesz zrobić, to utworzyć plik ~/.profile
i nazwać go .profile (jeśli jeszcze nie istnieje).
Umieść tam wszelkie potrzebne informacje, aby załadować każdą instancję bash (Dzięki, thepurplepixel).
Kilka uwag dodatkowych:
-a
jako parametru jako takiego:ls -a
~
Symbol oznacza /Users/YourUserName
gdzie twoja_nazwa_użytkownika jest shortname swój login użytkownika.Edycja: Chris Page zauważa (poprawnie), że cokolwiek umieścisz w pliku .profile, będzie miało zastosowanie do każdej powłoki, której używasz (tj. Zhs, bash, i tak dalej). Jeśli chcesz, aby zawartość wpływała tylko na powłokę bash, umieść ją w .bash_profile
pliku zamiast w .profile
pliku.
.bash_profile
już istnieje w twoim katalogu domowym, .profile
plik nie zostanie odczytany!
Musisz stworzyć własne .bashrc
. Możesz po prostu użyć edytora tekstu, aby utworzyć plik o nazwie .bashrc
(bez rozszerzenia) z żądaną zawartością i zapisać go w katalogu domowym ( /Users/YourUserName/
).
.bashrc
będzie działać, ale tylko jeśli nie ma .profile
. Chyba ~/.profile
istnieje domyślnie, choć. Cieszę się, że mogłem pomóc! (I powinieneś podać swoje rozwiązanie w odpowiedzi i zaakceptować je dla przyszłych czytelników tego pytania).
Uważam, że w moim systemie operacyjnym 10.6.5 ustawienia bash znajdują się w „/ etc / bashrc”. Myślę, że jest to najwyższa specyfikacja powłoki.
Jednak potrzebujesz konta root, aby go zmodyfikować. Lokalne specyfikacje dla poszczególnych użytkowników „~ / .bashrc” powinny zaczynać się od następującego fragmentu, aby odczytać i załadować ustawienia bash na poziomie systemu:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Zwykle dodaję aliasy w bashrc na poziomie systemu, aby wszyscy użytkownicy mieli do nich dostęp. Chyba że nie chcą używać twoich skrótów i aliasów.
Powodzenia!
~/.bashrc
nie /etc/bashrc
. /etc/bashrc
to globalne ustawienia dla wszystkich użytkowników w twoim systemie, co prawdopodobnie nie jest tym, czego chcesz. Ponadto Apple może pojawiać się i zmieniać /etc/bashrc
okresowo, co może zdmuchnąć twoje dostosowania.
Użyj pliku .profile, aby dodać wszystko, co chciałbyś dodać do linuksowego pliku .bashrc.
Na przykład
PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit"