Muchos de ustedes ya deben de conocer el comando echo para desplegar texto. Bueno pues en esta ocasión quiero mostrar un ejemplo de cómo podemos redireccionar la salida de este a un archivo, y lo más importante como separar el error de un script.
Por default, el texto es redireccionado a una "salida estándard", en ingles "standard out" (STDOUT), pero también podemos redireccionar el "error estandard" que de igual manera en inglés sería "stándard error" (STDERR). En el siguiente ejemplo se muestra con un script de Bash el comando echo desplegando el famoso mensaje "Hello, world" al STDOUT.
[student@versa bin]$ cat hello #!/bin/bash echo "Hello, world" [student@versa bin]$ ./hello Hello, world
Esto les puede parecer muy sencillo, pero es muy utilizado en el mundo de los scripts, ahora lo importante en esto es como podemos redireccionar la salida solamente del error para poderlo anexar a un log, de esta manera evitaríamos estar logueando información que muchas veces no es muy útil. Cuando generemos nuestros scripts es muy importante que nuestros mensajes de error siempre sean redireccionados a STDERR para hacer más fácil la lectura diferenciando los errores de mensajes de estatus normales.
En el siguiente ejemplo lo muestra.
[student@versa bin]$ cat hello_error #!/bin/bash