Trabajar con scripts de shell siempre ha sido interesante para programadores y administradores de sistemas porque el resultado los ayuda a ambos con la depuración y el monitoreo. La configuración de la mayoría de las distribuciones de Linux se basa en gran medida en archivos, por lo que es importante comprender el concepto de escribir datos en un archivo de texto mediante un script o redirigir la salida en la línea de comandos.
Linux usa tres flujos de datos principales mientras se comunica con el usuario y la computadora:
- stdin (ENTRADA ESTÁNDAR)
- stdout (SALIDA ESTÁNDAR)
- stderr (ERROR ESTÁNDAR)
1. estándar
Este es el flujo de datos para la entrada de información. Cualquier entrada de cualquier dispositivo, como un teclado o un mouse, se incluye en el flujo de datos de entrada estándar. entrada estándar está representado por 0 ID de transmisión.
[ También puede disfrutar leyendo: Cinco formas de usar operadores de redirección en bash]
2. salida estándar
Este es el flujo de datos para la salida de datos. La salida de los dispositivos (como monitores, altavoces, etc.) se incluye en el flujo de datos de salida estándar. salida estándar está representado por 1 ID de transmisión.
3. estándar
El error estándar se usa para manejar cualquier error producido por los comandos. Cualquier transmisión de dispositivo (como monitor, altavoz, etc.) que advierte al usuario que algo salió mal se incluye en stderr. stderr está representado por 2 ID de transmisión.
¿Cómo se escriben datos en un archivo?
Utilice operadores de redirección para obtener los datos de los flujos stdout y stderr y redirigirlos a un archivo de texto.
Redireccionamiento :La redirección es una función de Linux que se utiliza para cambiar los dispositivos de entrada/salida mientras se ejecuta un comando.
Redireccionamiento de salida/error
Para escribir datos en un archivo de texto desde un script Bash, use la redirección de salida/error con >
y >>
operadores de redirección.
>
Sobrescribe datos en un archivo de texto.
>>
Añade datos a un archivo de texto.
Crear un script básico y comprender la redirección
date >> test1.txt
who >> test1.txt
date > test2.txt
who > test2.txt
Aquí, la salida de ambos comandos se agregará a test1.txt
mientras test2.txt
contendrá solo la salida de who
comando.
Trabajar más con la redirección
El script anterior redirigirá solo la salida y fallará en caso de error. Para trabajar con redirección para salida, error o ambos, debe especificar los parámetros adicionales.
Para redirigir la salida:>
o >>
o 1>
o 1>>
Por error de redireccionamiento:2>
o 2>>
Para redirigir ambos:&>
o &>>
Errores de redirección
date --who 2>> test1.txt
who 2>> test1.txt
Para redirigir solo los errores, ha especificado el parámetro específico para el error. El archivo de salida contendrá solo la salida del primer comando porque tiene un argumento incorrecto.
Otros argumentos se pueden usar indistintamente para lograr una funcionalidad diferente.
Escribir la secuencia de comandos para otros comandos es igual que la secuencia de comandos anterior y requiere los operadores que se muestran arriba.
[ Descargar ahora:una guía para administradores de sistemas sobre secuencias de comandos Bash. ]
Resumir
La redirección de datos a stdout o stderr es muy útil tanto para los desarrolladores como para los administradores de sistemas. Comprender estas herramientas y sus resultados lo ayudará a crear nuevos archivos, solucionar problemas y recopilar información del sistema.