Emacsclient에서 원치 않는 출력을 억제하는 방법은 무엇입니까?

Emacsclient에서 원치 않는 출력을 억제하는 방법은 무엇입니까?

나는 정기적으로 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/nullSTDERRSTDOUT

/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1

관련 정보