Jak mogę przeładować
.bash_profile
z linii poleceń ?
Mogę sprawić, aby powłoka rozpoznała zmiany .bash_profile
, wychodząc i logując się ponownie, ale chciałbym móc to zrobić na żądanie.
bash
shell
command-line
markdorison
źródło
źródło
alias BASHRELOAD=". ~/.bash_profile"
. Jeśli robisz to często, możesz po prostu aliasować jakobr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Tylko upewnij się, że nie masz żadnych zależności od obecnego stanu.
źródło
.
polecenie w tym przypadku?.
jest po prostu aliasemsource
polecenia..
jest starszy niżsource
JEST.source
jest specyficzną dla basha implementacją.
.
isource
dosłownie to samo w bash. Z linku: „source
jest synonimem kropki / kropki.
” w bash, ale nie w POSIX sh, więc dla maksymalnej kompatybilności użyj kropki . ”Po prostu wpisz:
Jeśli jednak chcesz, aby źródło było uruchamiane automatycznie po uruchomieniu terminalu zamiast uruchamiania go za każdym razem, gdy otwierasz terminal, możesz dodać go
. ~/.bash_profile
do~/.bashrc
pliku.Uwaga:
Gdy otworzysz terminal, terminal rozpocznie bash w trybie interaktywnym (bez logowania), co oznacza, że będzie źródłem
~/.bashrc
.~/.bash_profile
jest pozyskiwany wyłącznie przez bash, gdy jest uruchamiany w trybie interaktywnego logowania . Zwykle dzieje się tak tylko wtedy, gdy logujesz się na konsoli ( Ctrl+ Alt+ F1.. F6) lub łączysz sięssh
.źródło
Możesz także użyć tego polecenia, aby ponownie załadować ~ / .bash_profile dla tego użytkownika. Pamiętaj, aby użyć myślnika.
źródło
Podoba mi się fakt, że po właśnie edycji pliku wystarczy, że napiszesz:
To źródło pliku, który właśnie edytowałeś w historii. Zobacz Co to jest dolar hukowy w bash .
źródło
cd
. .bash_profile
źródło
cd
. Nie ma potrzeby~
.cd
- możesz po prostu ponownie załadować go z katalogu, w którym aktualnie się znajdujesz:. ~/.bash_profile
Jeśli nie masz nic przeciwko utracie historii obecnego terminala powłoki, możesz to zrobić
bash -l
To rozwidliłoby twoją powłokę i otworzyłoby kolejny potomny proces bash. Ten
-l
parametr mówi bashowi, aby działał jako powłoka logowania, jest to wymagane, ponieważ plik .bash_profile nie będzie działał jako powłoka niezalogowana. Aby uzyskać więcej informacji o tym przeczytaj tutajJeśli chcesz całkowicie zastąpić bieżącą powłokę, możesz również:
exec bash -l
Powyższe nie rozwidli twojej obecnej powłoki, ale całkowicie ją zastąpi, więc podczas pisania
exit
całkowicie się zakończy, zamiast upuszczać cię do poprzedniej powłoki.źródło
Dodaj
alias bashs="source ~/.bash_profile"
do swojego pliku bash. Możesz więc zadzwonićbashs
od razuźródło
reset
- łatwiej zapamiętaćjeśli plik .bash_profile nie istnieje, możesz spróbować uruchomić następującą komendę:
lub
zamiast .bash_profile. Możesz znaleźć więcej informacji o bashrc
źródło
Chciałem opublikować szybką odpowiedź, która podczas korzystania
source ~/.bash_profile
lub odpowiedzi wspomniane powyżej działają, należy wspomnieć, że ładuje to tylko Twój profil bash w bieżącej karcie lub sesji, którą przeglądasz. Jeśli chcesz ponownie załadować swój profil bash na każdej karcie / powłoce, musisz wprowadzić to polecenie ręcznie w każdym z nich.Jeśli korzystasz z iTerm, możesz użyć CMD⌘+ Shift+, Iaby wprowadzić polecenie do wszystkich bieżących kart . W przypadku terminala przydatne może być odniesienie do tego problemu ;
źródło
musisz tylko wpisać
. ~/.bash_profile
patrz: /superuser/46139/what-does-source-do
źródło
Używam Debiana i mogę po prostu pisać,
exec bash
aby to osiągnąć. Nie mogę powiedzieć, czy będzie działać na wszystkich innych dystrybucjach.źródło
. .bash_profile
gdy jesteś w katalogu domowym na komputerze Mac. To samo co odpowiedź udzielona powyżej przez 7urkm3n.lub jeśli chcesz dodać dzienniki za pomocą funkcji
źródło
. ~/. bash_profile
niesource ~/.bash_profile
Korzystam z Sierra i pracuję nad tym przez jakiś czas (próbuję wszystkich zalecanych rozwiązań). Byłem zdezorientowany, więc w końcu próbowałem ponownie uruchomić komputer! Zadziałało
doszedłem do wniosku, że czasami konieczny jest twardy reset
źródło