나는 정기적으로 emacs를 사용하고 가능할 때마다 emacsclient를 사용하도록 시스템을 구성하려고 노력합니다. 이를 위해 다음을 수행했습니다.
.bashrc에서:
EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'
그런 다음 다음을 포함하는 /usr/local/bin/emacsclient.wrapper를 가리키는 /usr/bin/editor에 대한 대안도 설치했습니다.
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1
대부분의 경우 이는 잘 작동합니다. 그런데 터미널에서 emacsclient를 실행하면 내가 원하지 않는 텍스트가 자주 출력됩니다. 특히:
$ editor
Waiting for Emacs...
$
또는 emacs가 시작되지 않았고 emacclient가 emacs 자체 시작으로 돌아가야 하는 경우:
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
이 출력을 억제하려면 어떻게 해야 합니까? 내 emacs 래퍼를 다음으로 변경해 보았습니다.
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1 &> /dev/null
그러나 이것은 도움이 되지 않습니다. 이 표준 리디렉션 외에 다른 아이디어가 없기 때문에 EDITOR 또는 VISUAL 편집을 시도하지 않았습니다.
답변1
일반적으로 말하면:
program >/dev/null 2>&1
to( )의 출력을 강제로 실행 STDOUT
하고 로 리디렉션합니다.program
/dev/null
STDERR
STDOUT
/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1