Because netcat on my box doesn't support -e,
The netcat man page gives me this workaround:
$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
I don't understand how this works.
I though that when you try to cat /tmp/f that that would block until something is written to /tmp/f and if that's blocked how does the rest of the command run?