Em geral:
program >/dev/null 2>&1
forçará a saída ( STDOUT
) de program
para /dev/null
e redirecionará STDERR
para STDOUT
. Então tente:
/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1
Eu uso o emacs regularmente e estou tentando configurar o meu sistema para usar o emacsclient quando possível. Para fazer isso, fiz o seguinte:
Em .bashrc:
EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'
Eu também instalei uma alternativa para / usr / bin / editor que aponta para /usr/local/bin/emacsclient.wrapper que possui o seguinte:
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1
Na maior parte, isso funciona muito bem. No entanto, quando o emacsclient é iniciado a partir do terminal, ele geralmente envia texto que não preciso. Notavelmente:
$ editor
Waiting for Emacs...
$
Ou, quando o emacs ainda não foi iniciado e o emacclient tem que voltar a iniciar o próprio emacs:
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
O que posso fazer para suprimir essa saída? Eu tentei mudar meu wrapper do emacs para
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1 &> /dev/null
mas isso não ajudou. Não tentei editar EDITOR ou VISUAL, pois não tenho outras idéias além do redirecionamento padrão.
Tags emacs io-redirection