[TUHS] Shell Level...
Theodore Y. Ts'o
tytso at mit.edu
Wed Jan 22 09:10:23 AEST 2020
On Tue, Jan 21, 2020 at 01:44:07PM -0700, Grant Taylor via TUHS wrote:
> On 1/20/20 12:40 PM, Theodore Y. Ts'o wrote:
> > 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 at ATHENA.MIT.EDU
> > or tytso/admin at ATHENA.MIT.EDU kerberos tickets.
>
> If I'm understanding you correctly, you used a sub-shell with a modified /
> task / process specific environment. Correct?
Correct. And I would often suspend the shell when I didn't need to
use the Kerberos administration credentials, and then go back to it
later when I did need it, and since I was often bouncing back and
forth between the sub-shell and the parent shell, having the SHLVL
displayed in the prompt for non-top-level shells was useful.
For similar reasons, my shell prompt will also display what git branch
I happen to be one. For example:
<tytso at lambda> {/usr/projects/e2fsprogs/e2fsprogs-maint}, level 2 (debian/master)
1001%
Says that I'm on the debian/master git branch, and "level 2" indicates
that I'm in a subshell. (If I'm in a top level shell, no level will
be printed at all.) The prompt also displays the hostname ("lambda"
in this case") which is super-useful to identify remote logins.
- Ted
More information about the TUHS
mailing list