Cuando ejecuto ciertos programas desde la línea de comandos, como eclipse y visor de documentos en 11.10, arroja una carga de información que parece intrascendente.
Además, cuando se ejecutan en segundo plano, a veces continúan produciendo resultados en el terminal en el que estoy trabajando actualmente, lo cual es irritante.
Me gustaría que simplemente se inicien y mantengan las cosas de fondo en segundo plano. Mi razonamiento es que si inicia estos programas a través de la GUI (por ejemplo, haciendo doble clic en un icono), estos mensajes nunca se me mostrarán, por lo que no los necesito en la línea de comandos.
command-line
Anake
fuente
fuente
Respuestas:
Si puede evitar escribir cosas en la consola, depende de cómo se cree la salida del programa. Si se transmite a la salida estándar, entonces es suficiente
y no se debe hacer ninguna salida.
Para suprimir también los mensajes de error:
O en bash, simplemente:
Pero si lo hacen de alguna manera diferente, entonces podría ser un problema evitar que escriba en la consola.
si es posible, use la solución dada por MuffinStateWide
fuente
eclipse 2&>1 >/dev/null
deshacerse de esostderr
. El valor predeterminado solo redirigestdout
. Y no hay una forma "diferente" de hacerlo, si purgas tanto stdout como stderr en la parte inferior, no habrá salida.eclipse &> /dev/null
. Eso atrapa a stdin y stderr en el punto de redireccionamiento (en bash)Puede crear una función bash que alias un nombre de comando y agregar alguna funcionalidad adicional para lograr lo que está pidiendo.
Por ejemplo: supongamos que desea iniciar
gvim
(un editor de texto gui) desde la línea de comandos.podrías escribir una función como esta:
(agregue esta función a su archivo
.bashrc
o.bash_aliases
para que siempre se cargue)Explicación:
esto alias el
gvim
comando con una función bash también llamadagvim
(así que cuando escribesgvim
en un indicador bash, llamará a tugvim
función, en lugar de ejecutar elgvim
comando real . Tu función llama algvim
comando real (y acepta sus argumentos regulares), con Algunas características adicionales:/dev/null
(suprime la salida al terminal)&
para ejecutar el comando en segundo plano (para que su shell no esté bloqueado)disown
para eliminar el trabajo en segundo plano del shell (para que no aparezca en la lista de trabajos activos)nohup
para separar el proceso del terminal (para que pueda finalizar su sesión de shell o cerrar su terminal sin matar el proceso)fuente
intente agregar --help como un interruptor de comando y busque "silencioso", esto debería suprimir la salida, o simplemente iniciar desde la GUI. e inicie con el interruptor o encuentre una manera de suprimirlo mediante un script
personalmente inicio desde cli para obtener esa salida, así que no estoy seguro de que sea posible para todas las aplicaciones GUI.
fuente