[sudo-users] Is there a way to increment SHLVL when using sudo?

David Ledger david.ledger at ivdcs.co.uk
Mon Feb 6 10:08:00 MST 2017


On 6 Feb 2017, at 15:18, Leroy Tennison wrote:

> I'm trying to tell how "deep" I am in levels of shell. I realize this 
> is not totally possible unless ssh could increment SHLVL as well (and 
> possibly other programs I'm not aware of). However, I'm thinking this 
> would at least tell me how many levels of shell I have on the current 
> system.
> ____________________________________________________________
> sudo-users mailing list <sudo-users at sudo.ws>
> For list information, options, or to unsubscribe, visit:
> https://www.sudo.ws/mailman/listinfo/sudo-users


Manually it’s easy, but it can be scripted with awk if it’s not a 
one-off need. The shell variable $$ should contain the current PID. A 
’ps’ listing of that process with the correct argument for your 
system and version of ‘ps’ will show you the Parent PID. Grab that 
and repeat until you know what you want to know.

A simple script using awk on the o/p of ps can loop until it gets to PID 
0, or you can pull an entire ps listing into an awk array and walk that 
array till you know. Having a ash background I know awk better than the 
bas extension, but you may be able to do it in bash. Perl will certainly 
do it.

‘ps’ is generally non-portable, so the chances of the script I have 
working on your system is small.

David



More information about the sudo-users mailing list