Date: Fri, 21 Aug 1998 13:59:52 -0700 (PDT) From: "Jan B. Koum " <jkb@best.com> To: CyberPeasant <djv@bedford.net> Cc: Roman Katsnelson <romank@graphnet.com>, freebsd-questions@FreeBSD.ORG Subject: Re: "clear" curiosity Message-ID: <Pine.BSF.4.02.9808211357450.23115-100000@shell6.ba.best.com> In-Reply-To: <199808211934.PAA29879@lucy.bedford.net>
next in thread | previous in thread | raw e-mail | index | archive | help
I usually do: # echo "`which clear`" > /usr/share/skel/dot.logout # chown bin.bin !$ # echo "`which clear`" > /root/.logout -- Yan www.best.com/~jkb/ Unix users of the world unite: www.{free,open,net}bsd.org | www.linux.org | www.apache.org | www.perl.com "Turn up the lights, I don't want to go home in the dark." On Fri, 21 Aug 1998, CyberPeasant wrote: >Roman Katsnelson wrote: >> Hi, >> >> I did 'cat clear' recently, and saw that all it said was >> >> exec tput clear >> >> I noticed that when I just type that in at the command line, the result >> is entirely different -- it logs me out, clears the screen and gives a >> new login prompt. I like this a lot better than the regular "exit" or >> "Ctrl-D" thing because it clears the screen first. These are my two >> questions: >> >> 1) Why are the results different between the same commands in a shell >> script and at the command line? >> and > >Well, exec replaces the current program with the other one. (tput in >this case.) > >If it's a shell script, (e.g. clear) exec replaces the sh running >the script with tput. > >>From the command line, it replaces your login shell. > >> 2) How can I write a shell script that does the same thing? (I tried, >> but, of course, it did exactly what 'clear' does). > >for reasons, see the preceding. > >Bash has a .bash_logout script, maybe other shells do. >This is the sort of thing you need to do on a system where you are >not rooted. > >Usually, a better way is to have getty clear the screen. > >Adding a "\f" to the login banner sequence in /etc/gettytab seems >to do the trick. > >Before: >default:\ > :cb:ce:ck:lc:fd#1000:im=\r\nFreeBSD (%h) (%t)\r\n\r\n:sp#1200: > >After: >default:\ > :cb:ce:ck:lc:fd#1000:im=\f\r\nFreeBSD (%h) (%t)\r\n\r\n:sp#1200: > >Note that this will affect all getty'ed logins: console, serial >lines. (But not telnet and rlogin. These can be dealt with as >well, I think, but am too lazy to dig it out.) Maybe some terminal >types will choke on the \f. > >Dave >-- > Confutatis maledictis, flammis acribus addictis. > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-questions" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.02.9808211357450.23115-100000>