On Mon, Jan 20, 2020 at 09:15:56AM +0100, markus schnalke wrote:
> Hoi.
>
> [2020-01-19 14:22] Grant Taylor via TUHS <tuhs@minnie.tuhs.org>
> >
> > Have you ever used shell level, $SHLVL, in your weekly ~> daily use of Unix?
>
> What's the use of it? The only use of $SHLVL I can think of is the
> answer to the question if ^D will close the last shell or just a
> sub shell. I hardly ever ask myself this question. Probably that
> starts to become relevant when you open sub shells frequently.
<Raises hand>
The normal reason why I'm starting subshells is because I need to
control various environment variables on an ad-hoc basis. It might be
PYTHONPATH, KRB5CCNAME, GPG_AGENT_INFO, LD_LIBRARY_PATH, or some
combination of the above. Back when I was regularly using Kerberos
root/admin bits, I had some hard-coded shell aliases to indicate
explicitly I was in a shell that was using my
tytso/root@ATHENA.MIT.EDU or tytso/admin@ATHENA.MIT.EDU kerberos
tickets.
But for ad-hoc use cases, SHLVL is great way to track whether I'm a
non-standard shell environment. For me, some use case probably comes
up at least week or two.
> With tmux or screen at hand, this use case is obsolete for me.
> (Besides, my shell doesn't know about $SHLVL.)
Before I was using bash regularly, I had hard-coded something like
SHLVL in my .tcshrc.
- Ted