Napisałem alias dla ogromnej komendy i zapisałem go .bash_profile
i ku mojemu zaskoczeniu emacs nie wybrał aliasu, w którym napisałem .bash_profile
. Po kilku poszukiwaniach w Internecie utworzyłem .bashrc
plik w moim $ HOME za pomocą polecenia alias i dopiero potem emacs podniósł alias. Jestem zdezorientowany, ponieważ terminal.app pobiera alias, .bash_profile
ale emacs przyjmuje tylko alias .bashrc
.
Pracowałem M-x shelli korzystam z systemu macOS. Czy ktoś może mi wyjaśnić, jaki jest związek z emacsem i .bashrc
& .bash_profile
.
Co więcej, w jaki sposób mogę zmusić Emacsa do przeczytania mojego .bash_profile
oprócz .bashrc
?
.bashrc
pseudonimów? Pytam o to, ponieważ moje Emacsy (i najwyraźniej inni) nie robią tego domyślnie.zsh
zamiast bash :)Odpowiedzi:
To jest właściwe zachowanie.
.bash_profile
dotyczy tak zwanych powłok logowania. Podobnie jak w przypadku logowania się do komputera w trybie tekstowym lub w emulatorze terminala do innego komputera poprzezssh
albotelnet
albo ....bashrc
jest przeznaczony dla powłok niezalogowanych, na przykład gdy jesteś już zalogowany i zaczynasz nową xterm, lub w tym przypadkushell
tryb emacsa .Zwykle
.bash_profile
zawiera także polecenia do odczytu.bashrc
:więc
.bashrc
jest czytany przy każdym uruchomieniu.Tak więc aliasy należą do
.bashrc
; powszechne jest również tworzenie osobnego.bash_aliases
i dołączanie go.bashrc
za pomocą tej samej konstrukcji:źródło
Oprócz punktów wskazanych przez @pingi, możesz także użyć osobnego pliku konfiguracyjnego, który zostanie załadowany tylko dla powłoki emacs (
M-x shell
):Ze strony podręcznika (emacs) Interactive Shell :
Jest to przydatne, jeśli chcesz użyć innego formatu zachęty powłoki w Emacsie lub zdefiniować funkcje przekazywania plików do emacsclient.
źródło