On Wed, May 29, 2002 at 05:10:14PM -0700, Ken Bloom wrote: > ./ascript 1>&2 2>&1 #sends everything to standard error > ./ascript 2>&1 1>&2 #sends everything to standard output > > As powerful as this is, there's no way to swap standard error and > standard output.
There are several ways to swap stdout and standard error... you just need a third fd to complete the swap operation. ( ./ascript 3>&2 2>&1 1>&3 ) # HERE ( exec 3>&2 2>&1 1>&3; ./a; ./bunch; ./of | ./things ) # HERE Where "HERE" is above things are swapped. Sample follows... msimons@star:~/debian$ cat ascript #! /bin/bash echo "something on stderr" 1>&2 echo "something on stdout" msimons@star:~$ ./ascript something on stderr something on stdout msimons@star:~$ ./ascript > /dev/null something on stderr msimons@star:~$ ./ascript 2> /dev/null something on stdout msimons@star:~/debian$ ./ascript > /dev/null something on stderr msimons@star:~/debian$ ./ascript 2> /dev/null something on stdout msimons@star:~/debian$ ./ascript &> /dev/null msimons@star:~/debian$ _______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech
