sudo
私の資格情報がキャッシュされたかどうかZshプロンプトに表示したいと思います。これまで私が達成したいことを説明するのに役立ちます。
function sudo-warning {
if sudo -nl &>/dev/null; then
echo -n " %{${fg[red]}%}
答え1
これは、タイムアウトに達したかどうかを知らせるのに有効なようです。
sudo-expired() [[ $(
trap "" XFSZ
limit filesize 0
LC_ALL=C sudo -n true 2>&1) = *"password is required" ]]
つまり、ファイルサイズ制限を0に設定すると、タイムスタンプファイルの更新は失敗しますが、制限が期限切れにならない限り、パスワードがsudo
必要かどうかがわかります。
次のように使用してください(いくつかの単純化を含む):
sudo-warning()
if sudo-expired; then
echo '%F{blue}