Well it overwrites the shows file with nothing when you do that; not exactly sure why. I would say it is because you are hooking up stdin to stdout by doing that and sort isn't getting anything from stdin but that seems wrong.
You get the same result if you try piping it into tee as well as redirecting stdin to shows.
It seems sort doesn't like to share what it prints out, even though it is definitely printing to stdout .
In any case you could fix this by using the sort option which saves to an output file, which here is the same file as input so i color coded it to make it more readable
[color=#FF0000]sort [/color][color=#00FF00]-o[/color] [color=#FF8000]shows [/color]shows
[color=#FF0000]command[/color]
[color=#00FF00]option [/color]
[color=#FF8000]output file[/color]
input file
P.S. the order bash is doing things
command sort
pass it the file shows
idle
show opens and reads shows
then prints output to stdout (which for some reason you can't redirect!
)