cat < file
prints the contents of file to stdout.
cat > file
reads stdin until Ctrl+D is detected and the input text is written to file.
cat <> file
, at least in my version of Bash, prints the contents of file happily (without error), but doesn't modify the file nor does it update the modification timestamp.
How does the Bash standard justify the seemingly ignored >
in the third statement - and, more importantly, is it doing anything?