2010/11/22 Roshan <[email protected]>:
> So effectively, whenever, we are redirecting to STDOUT or STDERR, the
> command (process) that is executed, its output or error is put into a
> file. Anytime, the input for bash fails (via file through < operator),
> the subsequent STDOUT and STDERR are reverted to usual (the terminal)
> [even if appeared to be changed in the actual command].

Bash will process the command line left-to-right for redirections. So,
you will see different behaviour depending on whether you run:

cat < foo 2> err
or
cat 2> err < foo

That also explains the differing behaviours of:

ls -ld /tmp /nonexistent > /tmp/output 2>&1
and
ls -ld /tmp /nonexistent 2>&1 > /tmp/output

Also: the '<' redirection for input is for the command that bash runs,
not for bash itself (but see the documentation of the "exec" bash
builtin).

Binand
-- 
http://mm.glug-bom.org/mailman/listinfo/linuxers

Reply via email to