Actualmente estoy buscando formas de suprimir el comando de error en Linux, en particular, el comando cp
.
Hago:
root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/.
cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory
¿Cómo suprimo el mensaje de error que se imprime en la pantalla? Es decir, no quiero ver este mensaje de error en mi monitor.
Respuestas:
Para suprimir la salida de error
bash
, agregue2>/dev/null
al final de su comando. Esto redirige el controlador de archivos 2 (STDERR) a/dev/null
. Hay construcciones similares en otras capas, aunque la construcción específica puede variar ligeramente.fuente
Redireccionar el mensaje de error (STDERR) a
/dev/null
:Ejemplo:
fuente
Tu pregunta no está clara. Lo más sensato sería no ejecutar
cp
en absoluto cuando el comodín no coincida con ningún archivo, en lugar de ejecutarcp
y ocultar el mensaje de error.Para hacer eso, si el shell es bash, configure la
nullglob
opción para que el patrón comodín se expanda a nada si no coincide con ningún archivo. Luego verifique si el patrón se expandió a algo, y no llamecp
en ese caso.En sh simple, compruebe si el globo no se modificó, señalando un archivo inexistente.
fuente
Agregue esto en ~ / .bashrc:
entonces:
fuente
stderr
para/dev/null
cuando la salida de error es no deseado. O usando un nombre diferente acp
.cp
.puede utilizar cualquiera:
Opción 1:
2>/dev/null
.Opción 2:
2>&1
además de que puede usar esto al final de su comando, suprimirá los mensajes de error:
Ejemplo aquí
aquí no puede recuperar ninguna información sobre el mensaje de error. Ex2:
Aquí puede recuperar información del archivo de registro a continuación:
fuente