Jak powiedziano w nagłówku, muszę sprawdzić, czy hasło sudo zostało wprowadzone dla tej sesji terminala w powłoce (czyli jeśli mam teraz uprawnienia sudo).
Jeśli to mam, chciałbym zrobić jedną rzecz, a jeśli jej nie mam, to nie powinno mnie o to prosić, pozwól mi zrobić coś innego.
W pseudo-kodzie wygląda to tak:
if (sudo = true)
echo "i got sudo"
else
echo "i dont have sudo"
fi
Ale wszystkie polecenia, które znalazłem, zawsze monitują mnie o hasło sudo podczas próby sprawdzenia.
Podstawową ideą jest to, że skrypt może (i będzie) prosić o hasło sudo w kilku miejscach, ale nie chcę drukować „Skrypt poprosi teraz o hasło sudo”. jeśli zostało już wprowadzone (co oznacza, że nie poprosi o hasło sudo).
Mam nadzieję, że ktoś może mi pomóc.
źródło
if sudo -n true 2>/dev/null; then
mail_badpass
jest włączone w sudoers.