Skip to content

Entrada YSalida

Este documento explica como usar la redirección de contenido en bash script de (entradas y salidas y errores en bash).


En Bash hay 3 descriptores de archivos principales:

Los descriptores 3, 4, 5, … son opcionales y se usan en programas más avanzados. Para referirse a un descriptor se usa su número (por ejemplo 2> archivo). Para el descriptor 1, el número puede omitirse (> equivale a 1>).

Terminal window
cat < ./4.estControl.sh

2 Salida: redirigir la salida normal > y >>

Section titled “2 Salida: redirigir la salida normal > y >>”
Terminal window
echo "hola," > ./salida.txt # Sobrescribe el archivo
echo "mundo!" >> ./salida.txt # Agrega al final
Terminal window
ls noExiste 2> errores.txt

Terminal window
comando > todo.txt 2>&1

Esto significa:

  • El descriptor 1 (salida estándar) se envía al archivo todo.txt.
  • El descriptor 2 (errores) se redirige hacia donde va la salida estándar (&1).

En resumen:

“Manda los errores al mismo lugar donde está yendo la salida normal”.

Terminal window
ls | grep .txt

Envía la salida de ls al comando grep, que muestra solo los archivos .txt.


Terminal window
ls carpeta_inexistente &> salida.txt

Equivale a:

Terminal window
ls carpeta_inexistente > salida.txt 2>&1

Terminal window
cat ./1.comandosBash/5.EntradaYSalida.sh # Mostrar un archivo
cat a.txt b.txt > c.txt # Unir archivos
cat a.txt >> b.txt # Añadir uno al final del otro

También puedes crear un archivo nuevo escribiendo directamente:

Terminal window
cat > nuevo.txt
Hola
Mundo
# (Presiona CTRL+D para terminar)

El comando tee guarda la salida en archivos y también la muestra en pantalla.

Terminal window
echo "Hola mundo" | tee salida.txt # Guardar y mostrar
ls | tee -a lista.txt # Modo append
ls | tee archivo1.txt archivo2.txt # Guardar en varios archivos