如何抑制 emacsclient 不需要的输出?

如何抑制 emacsclient 不需要的输出?

我经常使用 emacs,并尝试将我的系统配置为尽可能使用 emacsclient。为此,我做了以下工作:

在.bashrc中:

EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'

然后我还安装了 /usr/bin/editor 的替代方案,它指向 /usr/local/bin/emacsclient.wrapper ,其中包含以下内容:

 #!/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

相关内容