eshell

전반적인 사용법은 Mastering eshell을 참조하면 된다.

몇 가지 직접 경험한것만 다시 쓰면… 어쨌든 위 문서에 다 있는 내용이다.

path

eshell의 PATH가 bash에서 설정한 PATH와 동일하지 않다. 위 문서에도 있지만, eshell은 shell 에뮬레이터도 아니고 bash를 실행하는 중간자도 아니므로, 어찌보면 당연. csh과 bash의 환경 설정이 다른것과 같은 얘기이다. eshell의 독립된 환경 변수 설정이 필요하다.

eshell에서는 .emacs.d/eshell/profile 파일을 사용한다. eshell에서 PATH를 추가하려면 addpath 명령을 사용하므로, addpath '~/bin'을 profile 파일에 추가하면 된다. 참고로, eshell에서 addpath 명령을 그냥 실행하면 현재 PATH가 출력된다.

alias

eshell에서 사용할 alias를 별도로 설정할 수 있는데, 설정 명령은 bash와 같이 alias이다. bash와 마찬가지로 alias ll 'ls -l %1' alias ll 'ls -l $1'라고 하면 ll을 사용할 수 있는데, 좋은점은 eshell에서 위 명령을 입력하면 alias가 설정됨과 동시에 바로 저장(~/.emacs.d/eshell/alias)된다. profile 파일에서 따로 등록할 필요없다. 참고로 실행할 내용은 반드시 작은따옴표(')로 감싸주어야 한다.

prompt

source : http://www.emacswiki.org/emacs/EshellPrompt

eshell-prompt-function 함수가 실행한 결과가 prompt 문자열이 된다. 아래는 .emacs 파일에 넣어야 함.

(setq eshell-prompt-function
      (lambda ()
	(concat
	 (car (last (split-string (eshell/pwd) "/")))
	 " $ ")))

기타

eshell에서 종료 명령이 없는 repl를 실행하면 C-C C-c로 보통은 프로세스가 죽는데, 이게 안되면 eshell-kill-process(C-c C-k) 명령을 실행하면 된다.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>