Byt*_*der 5 command-line sudo password prompt ps1
我想知道是否可以在命令行上(最好是在提示符中)指示sudo 模式是否打开。
通过sudo 模式,我的意思是我已经在此 shell 会话中正确输入了一次密码,并且该密码尚未过期但仍被缓存。
换句话说,我能否以某种方式判断sudo
我要运行的命令是否会询问我的密码或是否会使用缓存的凭据?
很长一段时间以来,我一直在使用
sudo -S true < /dev/null 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
您可以尝试这样做,但最近的更新似乎打破了这一点,因为我现在遇到了分段错误。
你可以尝试一下sudo -n true 2> /dev/null
(不-v
)。这似乎对我有用,无需更新超时。
您可以通过多种方式在提示符中执行此操作,包括:
PS1='\u:\w$(sudo -n true 2> /dev/null && echo " : sudo :") \$ '
Run Code Online (Sandbox Code Playgroud)
这取决于promptvars
默认启用的选项。
请注意,一旦发出提示,该指标就不会再次更新。因此,如果提示一直保留到超时到期,则可能表明sudo
即使已过期,该提示仍处于活动状态。
归档时间: |
|
查看次数: |
2276 次 |
最近记录: |