Return to BSD News archive
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.uwa.edu.au!classic.iinet.com.au!news.uoregon.edu!usenet.eel.ufl.edu!news.mathworks.com!newsfeed.internetmci.com!tank.news.pipex.net!pipex!howland.reston.ans.net!xlink.net!snert!not-4-mail From: pmh@pilhuhn.de (Patrick M.Hausen) Newsgroups: comp.unix.bsd.freebsd.misc Subject: 2.0.5 pdksh - weird behavior concerning $ENV Date: 1 Aug 1995 16:39:29 +0200 Organization: The Home Of The Pilhuhn Lines: 48 Message-ID: <3vleb1$kdi@pilhuhn.pilhuhn.de> NNTP-Posting-Host: pilhuhn.de Hi all! Since I'm a little schizophrenic with respect to SysV vs. BSD (I use SysVR4 at work) I installed the pdksh as my login shell. The I thought up a clever (so I think ;-) way of setting up a consistent environment whether I login via xdm or at a terminal. .xsession _and_ .profile set up things like PATH, MANPATH, that are needed by all programs, not only the shell. Last in both files $ENV is defined as $HOME/.kshrc where the setup for interactive shells is done. There the usual eval `tset ... is called as well as stty erase ^h. The funny thing: when I start, say, man ls in a shell window I get messages: Erase set to delete. Erase set to delete. stty: TIOCGETD: Operation not supported before the manpage appears and the terminal is still in cooked mode, so more always waits for the Enter key. I fixed the problem by putting a wrapper around my .kshrc: case $i in *i*) # check for interactive shell ... # all my .kshrc ;; esac OK. But what the ??? is happening here? Which process reexecutes .kshrc when I type man ls? I mean, the shell forks --> no execution of anything. After alias, environment, etc. substitution it searches for man in $PATH, which it finds in /usr/bin. Then /usr/bin/man is execed, which doesn't give a damn about some environment variable called $ENV, so: who? when? Paddy -- Patrick M. Hausen Gerwigstr. 11 76131 Karlsruhe Tel. +49 721 699234 pmh@pilhuhn.sub.org s_hausen@ira.uka.de IRC: cutie "You can fool all of the people some of the time and some of the people all of the time, but you can't fool Mom." (Captain Penny's Law)