Tak, nie mam .bash_profile
ani .profile
w moim katalogu domowym. Jak je utworzyć? Co potem powinienem zrobić za każdym razem, gdy otwieram terminal, pliki te są czytane?
Możesz użyć touch
polecenia.
Na przykład,
cd ~
aby przejść do katalogu domowego.
Teraz utworzymy plik o nazwie .bash_profile
(kropka oznacza, że zostanie ukryty).
Następnie użyj nano
lub vi
w terminalu. Jeśli nie wiesz, co to vi
jest, po prostu użyj nano
. Aby otworzyć te pliki, użyj:
sudo nano .bash_profile
sudo
upewnia się, że będziesz mógł zapisać te pliki. Tutaj możesz dodać aliases
. nano
lub vi
automatycznie utworzy nowy plik, jeśli nie istnieje w bieżącym katalogu w terminalu.
Po zakończeniu naciśnij przycisk Ctrl+ O, Enteroraz Ctrl+ X, aby zapisać i zamknąć. Wreszcie użyj
source ~/.bash_profile
aby ponownie załadować Terminal, a on przeczyta, co umieściłeś w tych plikach.
Oczywiście możesz to także zmienić, jeśli chcesz. :)
Aby odpowiedzieć na ostatnie pytanie, pliki te będą automatycznie odczytywane przy każdym otwarciu terminalu. Jeśli jednak wystąpi błąd (na przykład nie umieszczaj spacji między aliasami), poinformuje o tym.
Jak zauważył George, .bash_profile
będzie działał tylko na powłokach logowania. W przypadku powłok niezalogowanych musisz utworzyć .bashrc
plik z:
sudo nano .bashrc
touch
tworzysz puste pliki?nano
i tak robi to automatycznie.~/.profile
kopię~/.bash_profile
? A jeśli masz oba, co masz w środku~/.profile
, czego nie da się zrobić~/.bash_profile
?sudo
sprawi, że zepsujesz prawa użytkownika. Nie rób tegoMożesz skopiować te pliki z / etc / skel /, które są szkieletowymi plikami dla nowych użytkowników utworzonych przez polecenie takie jak useradd w dystrybucjach opartych na Debianie:
Pliki te będą automatycznie ładowane przez powłokę za każdym razem, gdy się logujesz. Sposób ładowania tych plików profilu jest opisany na stronie podręcznika użytkownika powłoki. Jeśli używasz powłoki bash w specjalny sposób (np. Przez ssh, ansible itp.), Powinieneś użyć polecenia „bash -ilc”, które chcesz wykonać w ENV przygotowanym przez te pliki profilu „”. -i oznacza powłokę interaktywną, która jest często wymagana przez .bashrc -l powłokę logowania, która powoduje załadowanie pliku .profile (lub istnieje plik .bash_profile - patrz strona instrukcji bash), który następnie ładuje plik .bashrc
źródło
Wolę używać edytorów tekstu GUI, takich jak BBEdit lub TextWrangler. Te edytory tekstu mogą obsługiwać niewidoczne pliki, takie jak .profile i .bash_profile, i mają tę zaletę, że posiadają interfejs GUI, w przeciwieństwie do nano, który jest interfejsem konsoli.
TextWrangler
BBEdit
źródło
Możesz także użyć edytora tekstu GUI, takiego jak TextEdit:
open -e
jest skrótem doopen -a TextEdit
.Nie musisz koniecznie tworzyć .profile lub .bashrc. Terminal i iTerm 2 otwierają nowe powłoki jako powłoki logowania, więc bash nie czyta .bashrc. Jeśli istnieją zarówno .bash_profile, jak i .profile, bash czyta tylko .bash_profile, gdy jest wywoływany jako interaktywna powłoka logowania. .profile jest odczytywany przez ksh, gdy jest wywoływany jako interaktywna powłoka logowania i przez bash, gdy jest wywoływany jako sh jako interaktywna powłoka logowania.
Właściwie powiedziałem iTerm 2, aby otwierał nowe powłoki jako powłoki niezalogowane, a mój plik .bash_profile zawiera po prostu linię podobną do
. ~/.bashrc
. Tryb tmux i tryb powłoki w emacsie domyślnie otwierają nowe powłoki jako powłoki niezalogowane. .bash_profile jest nadal odczytywany, gdy ssh do mojego komputera.źródło
~/.bash_profile
i drugie~/.profile
? I ty też masz~/.bashrc
?. ~/.bashrc
.