Friday, August 24, 2007

Tip for the day: Tru64 STTY DEC

On Tru64 Unix (at least on 4.0F), some non-root-user drop an error message on the root's Mail
account when cronjobs used

su - foo -c /usr/bin/bar

Even some Compaq technicians could not tell that this results from terminal settings in the .profile, which are invalid on non-interactive terminals. The error messages (2 in fact) looks like this:

stty: tcgetattr: not a typewriter
Not a terminal.

The solution is to wrap commands like "stty dec" and "tset -I -Q" with a check on terminal capabilities:

if tty -s
stty dec
tset -I -Q

No comments: