```
/tmp » cat test.sh
#!/bin/bash
echo "stdout"
echo "stderr" >&2

./test.sh
stdout
stderr

./test.sh > /dev/null
stderr

./test.sh 2> /dev/null
stdout

./test.sh > /tmp/log 2>&1

cat /tmp/log
stdout
stderr
```

looks good (everything is in the file), or did I get you wrong?