bash – ¿Cómo capturar el mensaje de error del comando ejecutado?

Pregunta:

Se me asignó la tarea de crear un script de refuerzo de servidor automatizado y una cosa que necesitan es un informe de todos los resultados de cada comando ejecutado. Quiero almacenar el mensaje de error dentro de una cadena y agregarlo en un archivo de texto.

Digamos que ejecuté este comando:

/sbin/modprobe -n -v hfsplus

El resultado de ejecutar esto en mi máquina sería:

FATAL: Module hfsplus not found

¿Cómo puedo almacenar ese mensaje de error dentro de una cadena? Cualquier ayuda será muy apreciada. ¡Gracias!

Respuesta:

puede hacerlo redirigiendo el comando de errores:

/sbin/modprobe -n -v hfsplus 2> fileName 

como un guion

#!/bin/bash
errormessage=$( /sbin/modprobe -n -v hfsplus 2>&1)
echo $errormessage

o

 #!/bin/bash
errormessage=`/sbin/modprobe -n -v hfsplus 2>&1 `
echo $errormessage

si desea agregar el error, use >> lugar de >

Asegúrese de utilizar 2>&1 y no 2> &1 para evitar el error "error de sintaxis cerca del token inesperado" & "

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım