get terminal speed from shell script
Andy Sun Anu-guest
sun at me.utoronto.ca
Mon Aug 13 23:51:41 AEST 1990
In article <1990Aug13.005849.23223 at jarvis.csri.toronto.edu> ruhtra at turing.toronto.edu (Arthur Tateishi) writes:
>In artcle <90Aug12.135618edt.18763 at me.utoronto.ca> sun at me.utoronto.ca (Andy Sun Anu-guest) writes:
>
>>Is there a way to get the terminal speed from a (sh or csh) script?
>>I used to be able to do the following in a Bourne shell script:
>> speed=`stty speed`
>>and got the terminal speed assigned to variable speed. As various OS
>>gets updated (e.g. Ultrix 3.1 and SUN OS 4.0.3), this won't work anymore
>>because all stty outputs are being sent to stderr, not stdout, thus no
>>piping or redirection is possible. Is there any similar commands that can
>>get terminal speed inside a shell script?
>
>I find it odd that the SUN man pages still specify option info is output
>on stdout... Maybe I shouldn't be surprised.
>
I guess it depends on which version of SUN OS. "speed=`stty speed`" works
for a Sun 3/60 running (I think) SUN OS 3.x. So it does went through stdout.
I tried the same thing on a SPARCstation running Sun OS 4.0.3c and it
gave me "Operation not supported on socket". What you suggested below, i.e,
"speed=`stty speed 2>&1 1>/dev/tty` works on the SPARCstation.
>However, I since stty seems to go bonkers when stdout goes to something
>other than a proper tty device, I came up with the following.
> speed=`stty speed 3>&2 2>&1 1>&3`
>This essentially swaps stdout and stderr with a dangling file descriptor 3
>which could be closed with 3>&- however it shouldn't matter. Be warned,
>if stderr has been modified to be a socket going somewhere, it will likely
>blow up with 'stty: Operation not supported on socket.' so you could use
> speed=`stty speed 2>&1 1>/dev/tty`
>which also has its drawbacks.
>Sorry, I can't confirm this for Ultrix.
I confirmed it, neither works :-)
speed=`stty speed` gave me "Not a typewriter" and
speed=`stty speed 2&1 1>/dev/tty` echoes the speed on the screen but assigns
nothing to the variable speed. I don't know why it works for SPARCstation
because I think /dev/tty is not the same as stdout. If in a C program you
specify /dev/tty as your output stream instead of stdout, everything echoes
on the screen in both cases but you cannot use redirection with /dev/tty.
>
>--
>``Sex and drugs? They're nothing compared with a good proof!''
> - A Cambridge student (r.h.f)
>Arthur Tateishi g9ruhtra at zero.cdf.utoronto.edu
Will they ever home on a standard on this one? (sighed)
Andy
_______________________________________________________________________________
Andy Sun | Internet: sun at me.utoronto.ca
University of Toronto, Canada | UUCP : ...!utai!me!sun
Dept. of Mechanical Engineering | BITNET : sun at me.utoronto.BITNET
More information about the Comp.unix.wizards
mailing list