ตามที่กล่าวไว้ในพาดหัวฉันต้องตรวจสอบว่ามีการป้อนรหัสผ่าน sudo สำหรับเทอร์มินัลเซสชันนี้ในเชลล์หรือไม่ (aka ถ้าฉันมีสิทธิ์ sudo ตอนนี้)
ถ้าฉันมีฉันอยากจะทำสิ่งหนึ่งและถ้าฉันไม่มีมันก็ไม่ควรเตือนฉันให้ฉันทำสิ่งอื่น
ดังนั้นในรหัสหลอกดูเหมือนว่านี้:
if (sudo = true)
echo "i got sudo"
else
echo "i dont have sudo"
fi
แต่คำสั่งทั้งหมดที่ฉันพบนี้จะแจ้งให้ฉันใส่รหัสผ่าน sudo เสมอเมื่อพยายามตรวจสอบ
แนวคิดพื้นฐานคือสคริปต์สามารถ (และจะ) ขอรหัสผ่าน sudo ได้หลายที่ แต่ฉันไม่ต้องการพิมพ์ "สคริปต์จะขอรหัสผ่าน sudo ของคุณตอนนี้" ถ้ามันถูกป้อนแล้ว (ซึ่งหมายความว่ามันจะไม่ขอรหัสผ่าน sudo)
หวังว่าใครบางคนสามารถช่วยฉันได้
if sudo -n true 2>/dev/null; then