BASH redirige tanto la salida estándar como el error estándar al mismo archivo

BASH redirige tanto la salida estándar como el error estándar al mismo archivo

El shell bash es el shell más popular en los sistemas Linux, y para usar el shell de manera eficiente, necesita un poco de conocimiento sobre las redirecciones de shell bash. Este es también un paso esencial para aprender scripts de bash.

En esta guía, mostraremos cómo redirigir la salida estándar y el error estándar al mismo archivo en la línea de comandos de shell bash. Esto incluirá varios ejemplos para que pueda elegir el método correcto en cualquier escenario.

En este tutorial aprenderás:

  • Cómo redirigir la salida estándar y el error estándar al mismo archivo
  • Cómo redirigir la salida estándar y el error estándar a la archivo y el terminal
  • Cómo redirigir la salida estándar y el error estándar a /dev /null
Varios ejemplos bash para redirigir la salida estándar y el error estándar al mismo archivo Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software Cáscara
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Redirigir la salida estándar y el error estándar



Primero cubramos cómo redirigir la salida estándar a un archivo. Si ya tiene estos conceptos básicos de Bash, no dude en saltar adelante a los comandos de ejemplo.

Normalmente usas > Para la redirección y para agregar a un archivo existente, utilizaría >>.

$ echo "Linuxconfig.org "> nuevo archivo.txt y $ echo "linuxconfig.org ">> archivo existente.TXT 

Con estos comandos, la salida estándar se redirigiría al archivo, y el error estándar se muestra en su pantalla. En caso de que sea nuevo en Linux, la "salida estándar" es solo la salida habitual y esperada de ejecutar un comando o script, y el "error estándar" es cualquier mensaje de error que ocurra.

Para redirigir el error estándar en su lugar, podemos usar 2>. Esto hará que la salida estándar aparezca en nuestra pantalla y enviará todos los mensajes de error a un archivo.

$ echo "Linuxconfig.org "2> nuevo archivo.TXT 

Con los conceptos básicos fuera del camino, ahora cubriremos varios ejemplos de comando para redirigir la salida estándar y el error estándar al mismo archivo.

  1. Para redirigir la salida estándar y el error estándar al mismo archivo, use la siguiente sintaxis del comando. Específicamente, adjuntar 2> y 1 Al final de su comando habitual.
    $ echo "Linuxconfig.org "> nuevo archivo.txt 2> y 1 


  2. Una forma un poco más fácil de lograr esta funcionalidad es con el &> operador. Tenga en cuenta que esto funciona bien en Bash y ZSH, pero no en otras capas, así que use el ejemplo anterior para obtener la máxima compatibilidad con otros sistemas.
    $ echo "Linuxconfig.org "&> nuevo archivo.TXT 
  3. Para agregar la salida estándar y el error estándar a un archivo que ya existe, use la misma sintaxis anterior, pero con el >> operador de redirección.
    $ echo "Linuxconfig.org ">> archivo existente.txt 2> y 1 
  4. Para suprimir la salida estándar y el error estándar de su terminal, y evitar generar un archivo también, puede redirigirlos a ambos a /dev/nulo.
    $ echo "Linuxconfig.org "> /dev /null 2> y 1 
  5. Para redirigir la salida estándar a un archivo y redirigir el error estándar a un archivo diferente, use la siguiente sintaxis.
    $ echo "Linuxconfig.org "2> std-er.txt 1> std-out.TXT 


  6. Si desea redirigir la salida estándar y el error estándar al mismo archivo, al tiempo que los ve a ambos en su terminal, podemos obtener un poco de ayuda del tee dominio.
    $ echo "Linuxconfig.org "2> & 1 | Tee nuevo archivo.TXT 
  7. Si desea ver la salida estándar y el error estándar en su pantalla, mientras anexo ellos al mismo archivo, podemos usar el -a (agregar) opción con tee.
    $ echo "Linuxconfig.org "2> & 1 | Tee -A -File existente.TXT 

Pensamientos de cierre

En esta guía, vimos cómo redirigir tanto la salida estándar como el error estándar al mismo archivo en bash. Esto incluía varios operadores de bash diferentes, dependiendo de si queremos crear un nuevo archivo o agregar a un archivo existente. También aprendimos a usar el tee Comando para ver la salida estándar y el error estándar en nuestro terminal al tiempo que los escribe en un archivo. Ahora es un experto en redirigir la salida estándar y el error estándar a un archivo en Bash, y está mucho más cerca de dominar el shell por completo.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Mastering Bash Script Loops
  • Bucles anidados en guiones Bash
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Ubuntu 20.04 Guía
  • Cómo arrancar dual Kali Linux y Windows 10
  • Cosas para instalar en Ubuntu 22.04
  • Tutorial de depuración de GDB para principiantes