cat < file
imprime el contenido del archivo en stdout.
cat > file
lee stdin hasta que se detecta Ctrl+ Dy el texto de entrada se escribe en el archivo .
cat <> file
, al menos en mi versión de Bash, imprime felizmente el contenido del archivo (sin error), pero no modifica el archivo ni actualiza la marca de tiempo de modificación.
¿Cómo justifica el estándar Bash lo que aparentemente se ignora >
en la tercera declaración y, lo que es más importante, está haciendo algo?