나는 거대한 명령에 대한 별칭을 작성하여 저장하고 .bash_profile
놀랍게도 emacs는 내가 쓴 별칭을 선택하지 않았습니다 .bash_profile
. 인터넷에서 검색 한 후 .bashrc
alias 명령을 사용하여 $ HOME에 파일을 만들고 emacs가 별칭을 선택한 후에 만 만들었 습니다. terminal.app 가 별칭을 사용 .bash_profile
하지만 emacs가에서 별칭 만 사용 하기 때문에 혼란 스럽 습니다 .bashrc
.
나는 달리고 M-x shell있었고 나는 macOS에 있습니다. 누군가 emacs 및 .bashrc
& 와의 관계를 설명해 줄 수 있습니까 .bash_profile
?
더 많은 지점으로, 어떻게 이맥스 내 읽을 얻을 수 .bash_profile
에의 추가를 .bashrc
?
답변
이것이 올바른 행동입니다. .bash_profile
소위 로그인 쉘을위한 것입니다. 당신이를 통해 다른 컴퓨터에 터미널 에뮬레이터에서 텍스트 모드에서 컴퓨터에 로그인하거나처럼 ssh
나 telnet
또는 …
.bashrc
이미 로그인하여 새 xterm을 시작하거나이 경우 emacs ‘ shell
모드 와 같이 비 로그인 쉘을위한 것 입니다.
일반적으로는에서 .bash_profile
읽을 명령도 포함합니다 .bashrc
.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
그래서 .bashrc
모든 시작시 읽습니다.
따라서 별칭은 .bashrc
; 또한 별도의 구성 요소를 작성 하고 동일한 구성 .bash_aliases
을 .bashrc
통해 포함시키는 것이 일반적입니다 .
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
답변
@pingi가 작성한 사항 외에도 emacs 쉘 ( M-x shell
) 에만로드되는 별도의 구성 파일을 사용할 수도 있습니다 .
매뉴얼 페이지 (emacs)에서 Interactive Shell :
Emacs는 파일 ‘~ / .emacs_SHELLNAME’의 내용을 입력으로 새 쉘에 입력으로 전송합니다. 여기서 SHELLNAME은 쉘이로드 된 파일의 이름입니다. 예를 들어, bash를 사용하는 경우 전송 된 파일은 ‘~ / .emacs_bash’입니다. 이 파일을 찾을 수 없으면 Emacs는 ‘~ / .emacs.d / init_SHELLNAME.sh’로 시도합니다.
Emacs 내에서 다른 쉘 프롬프트 형식을 사용하거나 파일을 emacsclient로 전달하는 기능을 정의하려는 경우에 유용합니다.