Quando inicio certos programas a partir da linha de comando, como eclipse e visualizador de documentos na 11.10, ele envia uma carga de informações que parece irrelevante.
Além disso, quando são executados em segundo plano, às vezes continuam a produzir saída para o terminal no qual estou trabalhando atualmente, o que é irritante.
Eu gostaria que eles apenas iniciassem e mantivessem o plano de fundo. Meu raciocínio é que, se você iniciar esses programas por meio da GUI (por exemplo, clicar duas vezes em um ícone), essas mensagens nunca serão mostradas para mim; portanto, não preciso delas na linha de comando.
command-line
Anake
fonte
fonte
Respostas:
Se você pode evitar escrever coisas no console, isso depende de como a saída do programa é criada. Se for transmitido para a saída padrão, será suficiente
e nenhuma saída deve ser feita.
Para suprimir mensagens de erro também:
Ou no bash, simplesmente:
Mas se o fizerem de alguma maneira diferente, pode ser um problema impedir que ele seja gravado no console.
se possível, use a solução fornecida por MuffinStateWide
fonte
eclipse 2&>1 >/dev/null
para se livrarstderr
. O padrão apenas redirecionastdout
. E não há uma maneira "diferente" de fazer isso, se você remover stdout e stderr para o nether, não haverá saída.eclipse &> /dev/null
. Que chama tanto stdin e stderr para o ponto de redirecionamento (em bash)Você pode criar uma função bash que irá alias um nome de comando e adicionar algumas funcionalidades extras para alcançar o que você está solicitando.
Por exemplo: digamos que você queira iniciar
gvim
(um editor de texto da GUI) na linha de comando.você poderia escrever uma função como esta:
(adicione esta função ao seu arquivo
.bashrc
ou.bash_aliases
para que ela esteja sempre carregada)Explicação:
isso alias o
gvim
comando com uma função bash também chamadagvim
(portanto, quando você digitagvim
em um prompt do bash, ele chama suagvim
função, em vez de executar ogvim
comando real . Sua função chama ogvim
comando real (e aceita seus argumentos regulares), com alguns recursos adicionais:/dev/null
(suprime a saída para o terminal)&
para executar o comando em segundo plano (para que seu shell não seja bloqueado)disown
para remover o trabalho em segundo plano do shell (para que ele não apareça na lista de trabalhos ativos)nohup
para desanexar o processo do terminal (para que você possa encerrar sua sessão de shell ou fechar seu terminal sem interromper o processo)fonte
tente adicionar --help como uma opção de comando e procure por "quiet", isso deve suprimir a saída ou apenas iniciar a partir da GUI. e inicie com o switch ou encontre uma maneira de suprimi-lo via script
pessoalmente, inicio a partir do cli para obter essa saída, por isso não tenho certeza de que é possível para todos os aplicativos da GUI.
fonte