Skip site navigation (1)Skip section navigation (2)
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>