web-dev-qa-db-ja.com

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を編集しようとしませんでした。

3
Steven D

一般に:

program >/dev/null 2>&1

STDOUTの出力(program)を/dev/nullに強制し、STDERRSTDOUTにリダイレクトします。だから試してみてください:

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