POSIX way of getting columns in tty?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting POSIX way of getting columns in tty?
# 1  
Old 01-09-2009
POSIX way of getting columns in tty?

Is there a POSIX compatible way of getting the number of columns in a tty? On Linux, I can do something like:
Code:
stty -a  | awk -F'[ ;]' '/columns/ { print $9 }'

But will that work on AIX, Solaris, etc?
# 2  
Old 01-09-2009
Not sure about POSIX compliance but you might try that one which seems to work for me under Solaris and Linux:
Code:
LC_ALL=C stty -a  | grep columns | sed -e 's/.*columns //' -e 's/;.*$//' -e 's/= //'

# 3  
Old 01-09-2009
stty is available on AIX, Solaris, HP-UX. However, IEEE std 1003.1-2008 POSIX) states that the ouput format is unspecified by the standard. This means that your method of parsing the output which you showed us may not work on all platforms.
# 4  
Old 01-09-2009
Quote:
Originally Posted by otheus
Is there a POSIX compatible way of getting the number of columns in a tty? On Linux, I can do something like:
Code:
stty -a  | awk -F'[ ;]' '/columns/ { print $9 }'

But will that work on AIX, Solaris, etc?
Don't have access to Solaris at the moment. Would you mind posting the output from 'stty', please!
# 5  
Old 01-10-2009
Quote:
Originally Posted by fpmurphy
stty is available on AIX, Solaris, HP-UX. However, IEEE std 1003.1-2008 POSIX) states that the ouput format is unspecified by the standard. This means that your method of parsing the output which you showed us may not work on all platforms.
What do you think about jlligare's solution, above? What about with TERMCAP?
# 6  
Old 01-10-2009
I guess you have never used a tty. There is no standard way to obtain columns or rows. There are lots of situations still in existence where it cannot be done. Most true terminals never had a way to inform the host about parameters like that because columns were pretty much locked to 80. A real teletype can't even reasonably have a notion of rows. It can't back up to the "top", you might have ripped off the paper. And how far it can go down depends only on how much paper is left. Real teletypes always had exactly 80 columns though. The tty driver was designed for real teletypes. HP had a super printing terminal that could support up to 132 "columns", (but we used the term "print positions"). It used pin feed style paper. You varied the columns by changing the paper. But the host could not enquire about paper size. Posix does not require that stty know about columns.
# 7  
Old 01-10-2009
It is not part of POSIX.1, but most shells initialize a COLUMNS variable.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Python: Redirecting to tty and reading from tty

In bash, you can do something like this: #!/bin/bash echo -n "What is your name? " > /dev/tty read thename < /dev/tty How can I do the same in python? I have a python script that has the following content: #!/usr/bin/python2.7 import getpass import sys import telnetlib import... (2 Replies)
Discussion started by: SkySmart
2 Replies

2. Ubuntu

How to get columns TIME and TTY of commands ps -A?

Hi, Commands ps -A include four parameters are PID, TTY, TIME and CMD. I can not found pathnames of TTY and TIME which I can read from file in C language to get information display on screen. Thank you! Ex: PID TTY TIME CMD 1 ? 00:00:01 init (2 Replies)
Discussion started by: newbie_member
2 Replies

3. UNIX for Advanced & Expert Users

tty changes?

I am not sure if I am using the correct terminology but somehow my tty keeps changing on me. The man pages are confusing to me on what exactly the tty is. This is what I see when I run the tty command. Could anyone explain why my tty keeps changing? ~ $ tty /dev/pts/1 ~ $ tty /dev/pts/0 (6 Replies)
Discussion started by: cokedude
6 Replies

4. Solaris

tty hack

hi all, what i want to do when user open terminal like tty5 and do his work i want to see his terminal how can i do this (1 Reply)
Discussion started by: xxmasrawy
1 Replies

5. Programming

Posix

HI, When i am configuring php in SUN Solaris. I am getting the below error. configure: error: Your system seems to lack POSIX threads. Do i need to install POSIX? If so can somebody let me know where can i download POSIX for Solaris 8? Thanks, (2 Replies)
Discussion started by: Krrishv
2 Replies

6. AIX

Tty Over Run

dears i have two IBM p630 application servers, they are running hacmp 5.2 as the clustering software. from the output of errpt on one of the nodes i am receiving the following error: 9D30B78E 0530020007 T S tty1 RECEIVER OVER-RUN ON INPUT please are there any ideas about how... (0 Replies)
Discussion started by: TheEngineer
0 Replies

7. AIX

tty

Hi All can anyone tell me what is the meaning of tty,or give me an example of this? (1 Reply)
Discussion started by: magasem
1 Replies

8. UNIX for Dummies Questions & Answers

tty problem

Dear all, when I do a remote shell command from a FUJITSU Unix to an HP-UX, I always get this: 15:36:35 + rsh -l storto obs2 sh /users/obs/storto/MESO-NH/tmp_olive_map_00CC/job_prepex_70JY_C00CC_20041103_19 Not a terminal stty: : Erreur inconnue stty: : Erreur inconnue... (0 Replies)
Discussion started by: stortignauz
0 Replies

9. Shell Programming and Scripting

kill the tty

Hello Experts i'm having some trouble with a script. the purpose is to kill all processes from a distinct tty in a HP-UX machine, given the User TTY. it's to use like this: killtty pts/tnb pts/tr pts/tD here it is #!/usr/bin/ksh i=1 for i do || exit kill -9 `ps -ft "${i}" |... (9 Replies)
Discussion started by: vascobrito
9 Replies
Login or Register to Ask a Question