Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 1998 15:34:36 -0400 (EDT)
From:      CyberPeasant <djv@bedford.net>
To:        romank@graphnet.com (Roman Katsnelson)
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: "clear" curiosity
Message-ID:  <199808211934.PAA29879@lucy.bedford.net>
In-Reply-To: <35DDC102.CE22AD57@graphnet.com> from Roman Katsnelson at "Aug 21, 98 02:48:34 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808211934.PAA29879>