isatty ?

Valery
--- Maxim Veksler <[EMAIL PROTECTED]> wrote:

> Hello everyone,
> 
> My quest for the answer to "Can I determine if my
> stdout redirected"
> lead me to /proc. Is there some good documentation
> of this FS? I'm
> wondering about use cases for the various
> information exported.
> 
> 
> 
> For the answer, in case people wonder, here it is:
> 
> """
> [EMAIL PROTECTED]:/tmp/testbash$ cat fd_report.sh
> #!/bin/bash
> 
> declare STDOUT="$(readlink /proc/$$/fd/1)"
> 
> # Redirect stdout to stderr for the whole run.
> # (redirecting is fine but we still need to report
> status to user).
> exec >&2
> 
> if [ -f "$STDOUT" ]; then
>         echo "My stdout is redirected to: $STDOUT"
> else
>         echo "Running normal, stdout is at: $STDOUT"
> fi
> 
> file "$STDOUT"
> """
> 
> Example run:
> """
> [EMAIL PROTECTED]:/tmp/testbash$ ./fd_report.sh
> Running normal, stdout is at: /dev/pts/3
> /dev/pts/3: character special (136/3)
> 
> [EMAIL PROTECTED]:/tmp/testbash$ ./fd_report.sh
> >/tmp/file
> My stdout is redirected to: /tmp/file
> /tmp/file: empty
> """
> 
> Please note that this will not work for when stdout
> is redirected to
> other device then a "file" (char device, fifo and
> co.)
> 
> """
> [EMAIL PROTECTED]:/tmp/testbash$ ./fd_report.sh
> >/dev/null
> Running normal, stdout is at: /dev/null
> /dev/null: character special (1/3)
> """
> 
> 
> I would like to react differently if my output is
> redirected to stdout
> or to a file;
> 
> I can think of several ways that might give leads to
> someone but none
> that actually seems "elegent", to but none
> 
> 
> Reading stdout redirection target from bash scripts
> ?
> -- 
> Cheers,
> Maxim Veksler
> 
> "Free as in Freedom" - Do u GNU ?
> 
>
=================================================================
> To unsubscribe, send mail to
> [EMAIL PROTECTED] with
> the word "unsubscribe" in the message body, e.g.,
> run the command
> echo unsubscribe | mail
> [EMAIL PROTECTED]
> 
> 



 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to