Link to home
Start Free TrialLog in
Avatar of ahoffmann
ahoffmannFlag for Germany

asked on

/etc/*logout*

Does anybody know of the equivalent functionality of csh's /etc/csh.logout (assuming that no user has /etc as home directory, and that no user can modify the corresponding file) for
  1) bash
  2) ksh
  3) pdksh
  4) sh

(I'll give points for each shell)
Avatar of griessh
griessh
Flag of United States of America image

No logout for ksh (at least I have never heard of it)

bash:      ~/.bash_logout
csh/tcsh   ~/.logout

but none of them has protected logout files.

======
Werner
Avatar of ahoffmann

ASKER

Werner, files in ~ are not protected, that's why I asked.

csh/tcsh use /etc/csh.logout, slowly I begin to understand why I use these two since roughly 20 years :-))
I understood that very well when I read your question, asking myself: what does he want?

When I started digging deeper, and I recognognized that there is NO mechanism like that in ksh and what
the possibilities were if it had it, I was tempted to switch over to tcsh right away :-). I just fear,
my groups whole environment relies way too much on ksh ...

=====
Werner
> .. NO mechanism like that in ksh ..
which one do you mean? or did you mean csh/tcsh?

BTW, off topic here: ksh has some more dragons to beat :-o
Avatar of yuzh
yuzh

You can force ksh to use .logout (make it behave like Csh)
by putting the following in the .profile:

trap `. ~/.logout` EXIT
yuzh, even if there're ksh implementation which work this way, it's a useless effort 'cause the user always can remove files in ~
Also keep in mind that ksh does not execute .profile when not a login shell (depending on implementation)

Thanks anyway, it's a nice trick will not be understood by unexperianced users :-)
ahoffmann, it is not the native ksh implementation. I've got
the "trap" come out off my head when I was writting the comment, to make it behave like csh/tcsh.

I agreed with you, when ksh is not the login shell the .profile is not read, and the user can modify it.

how about write a wrapper for ksh?

It is tough to do it with ksh.
yuzh, thanks for hints.
I know how to write wrappers, tweaking /etc/profile etc. so that at least for unexperianced users happens what admins want ;-)

I'm searching for a simple soltion (like /etc/csh.logout, even the trap one would be sufficient), which could be installed easily on several platforms.
Unfortunately I experianced that ksh becomes more and more a dragon :-(

I was not shure if my impression that most shells do not have a similar feature. I'm also to lazy to read through all the man-pages (which I've done to often last years), to find the sentence: not possible.

I also expect the amswer: not possible.
But seems that most people, just like me, are not 100% shure about this.
Unfortunately, each shell has their own implementation. not all the command 100% compatible. Think abou the ulimit and limit command between ksh and csh/tcsh, the syntax different. I hope we can get around with them.

I do understand how you feel, I face the same type of problem sometime.

I hnow you can write wrappers. good luck with this one.


ASKER CERTIFIED SOLUTION
Avatar of elfie
elfie
Flag of Belgium image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I'll keep this question open for more suggestions, still hope that some more experts join ...

Anyway, think that griessh's "no logout for ksh" is the most complete answer so far.
Yep! You got me interested in that logout file ... I did some research and digging ... couldn't come upwith anything new.

======
Werner
#! /bin/sh
/usr/bin/ksh; exec /etc/ksh.logout

# was the most sufficient solution, and it's hard to break in, and it's more robust when using a restricted shell
# BTW, this way it works for most shells too
# simple, isn't it ;-)
THANKS.