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/nullal 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
cpen absoluto cuando el comodín no coincida con ningún archivo, en lugar de ejecutarcpy ocultar el mensaje de error.Para hacer eso, si el shell es bash, configure la
nullglobopció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 llamecpen ese caso.En sh simple, compruebe si el globo no se modificó, señalando un archivo inexistente.
fuente
Agregue esto en ~ / .bashrc:
entonces:
fuente
stderrpara/dev/nullcuando 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>&1ademá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