Notas de clase:
Redirigir salida de los programasPara el canal estándar output y el canal estándar error.
1) Para redirigir un mensaje del canal de estándar output:
Por ejemplo, usamos
$ echo “Hola mundo”
Donde pasamos un string como argumento para imprimir en consola.
Por canal estándar output porque es un mensaje de éxito, no hubo ningún error cuando ejecutamos el programa.
2) Para redirigir el canal estándar output a un archivo, usamos el operador “mayor que”.
El contenido del archivo es reemplazado. Si el archivo no existe, el sistema lo crea.
Por ejemplo,
$ echo “Hola mundo” > stdout.txt
$ls
$cat stdout.txt
$ echo “Hola, nuevo contenido.” > stdout.txt
3) Para agregar un nuevo contenido al mismo archivo, usamos el operador “doble mayor que”.
$ echo “Nuevo contenido.” » stdout.txt
4) Para redirigir la salida del estándar error a un archivo.
Por ejemplo, si intento acceder a un archivo que no existe con el comando ls, se produce un mensaje de error.
Recordamos que el número 2 le pertenece al estandard error.
$ ls stdout.txt
$ ls stdout.t
Obtenemos el mensaje que se encuentra en el canal del estándard error:
ls: cannot access ‘stdout.t’: No such file or directory
$ ls stdout.py 2> stderr.txt
De esta forma, almacenamos los mensajes en el archivo stderr.txt
$ls
$cat stderr.txt
5) En vez de reemplazar el contenido del archivo, podemos extender el contenido usando el operador “2»”.
$ ls stdout.py 2» stderr.txt
6) Para redirigir tanto el estándard output como la salida del estándar error, a dos archivos diferentes.
$ ls stdout.txt > stdout.txt 2> stderr.txt
$cat stdout.txt
$ ls stdout.js > stdout.txt 2> stderr.txt
$ cat stderr.txt
7) Podemos hacerlo de manera explícita con los operadores “1>” y “2>”.
$ ls stdout.txt 1> stdout.txt 2> stderr.txt