Kod w .bashrc nie jest wykonywany, gdy otwieram nowe okno terminala w Ubuntu 12.04. Zauważyłem to podczas tworzenia pliku .bash_aliases. Aliasy nie pojawiły się, kiedy otworzyłem nowy terminal. Jednak po source .bashrc
wpisaniu aliasy się pojawiły.
.bashrc powinien być uruchamiany za każdym razem, gdy otwieram nowe okno terminala, prawda?
Jak to zrobić?
.profile
jest odczytywany podczas logowania, a nie po otwarciu nowego terminala, chyba że gdzieś jest błędna konfiguracja. Selah: czy zmieniłeś coś z domyślnej konfiguracji? Uruchomps -o command $$ $PPID
w terminalu i skopiuj i wklej dane wyjściowe..bashrc
swój folder domowy, prawda?echo $SHELL
. To mi się przydarzyło i powłoką był / bin / sh zamiast bash. Napraw to w / etc / passwd i działającym .bashrc.Odpowiedzi:
To niekoniecznie musi działać; na górze standardowego pliku .bashrc znajduje się ten komentarz:
Wierzę, że istnieje opcja uruchomienia terminala bash jako powłoki logowania lub nie. W Ubuntu gnome-terminal zwykle nie działa jako powłoka logowania, więc .bashrc powinien być uruchamiany bezpośrednio.
W przypadku powłok logowania (takich jak wirtualne terminale) zwykle plik
~/.profile
jest uruchamiany, chyba że masz albo,~/.bash_profile
albo~/.bash_login
, ale domyślnie ich nie ma. Domyślnie Ubuntu używa tylko .profile.Standard
~/.profile
ma to w sobie:Uruchamia .bashrc, jeśli jest dostępny - zakładając, że $ BASH_VERSION jest obecne w twoim środowisku. Możesz to sprawdzić, wprowadzając polecenie
echo $BASH_VERSION
, które powinno wyświetlać informacje o numerze wersji - nie powinno być puste.źródło
~/.bash_profile
lub~/.bash_login
. Możesz przetestować, zaznaczając lub odznaczając pole wyboruEdit -> Profile Preferences -> Title and Command -> "Run command as a login shell
, a następnie wyjdź, a następnie uruchom ponownie terminal. Możesz przetestować coś z pliku .profile.~/.bash_profile
lub~/.bash_login
w swoim systemie i chcesz je zachować, ale nadal chcesz,~/.profile
a stamtąd~/.bashrc
wykonane, możesz je pobrać z własnego~/.bash_profile
lub~/.bash_login
z linii zawierającejsource "$HOME/.profile"
. Zwraca kolorowe wyjście ls również w powłokach logowania!W moim przypadku po prostu
.bashrc
brakowało linii ładujących.bash_profile
Dodałem go ręcznie i działało z moim nowym loginem
źródło
.bash_profile
? Ubuntu używa.profile
domyślnie, a nie.bash_profile
.pcre
i wygląda na to, że zastąpił profil bash zamiast go dodać..bash_profile
przechowuje konfigurację powłoki bash. Kiedy otworzysz terminal, najpierw czyta i wykonuje polecenia z~/.bash_profile
. Możesz więc dodać następujące elementy,.bash_profile
aby ustawić powłokę zgodnie z bashrc.źródło
~/.bash_profile
nie zostanie odczytany (i domyślnie nie istnieje w Ubuntu)Jeśli
$BASH_VERSION
nie jest ustawiony, spróbuj użyćchsh
polecenia, aby ustawić powłokę na/bin/bash
.Miałem podobny problem z 12.04 LTS i okazało się, że nowe konto użytkownika miało domyślną powłokę ustawioną na
/bin/sh
, co było przyczyną problemu.źródło
Przypisywanie do komentarza w .profile
Więc proszę, jeśli
~/.bash_profile
lub~/.bash_login exists
, te zostaną uruchomione zamiast~/.profile
jeśli chcesz uruchomić
~/.bashrc
tylko dodać linięsource ~/.bashrc
wbash_profile
źródło
.bashrc
był pozyskiwany, dopóki nie utworzyłem.bash_profile
pliku. Więc wstawiłemsource ~/.bashrc
wiersz do mojego.bash_profile
pliku.Zamiast przejść przez to wszystko, po prostu przejdź
Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell"
do niestandardowego pola poleceńbash
i zapisz je. Następnym razem, gdy otworzysz terminal, uruchomi on również bash automatycznie.źródło