ฉันแฮ็กสคริปสคริปต์นี้พร้อมกันซึ่งทดสอบว่าผู้ใช้มีสิทธิ์พิเศษของผู้ใช้ระดับสูงหรือไม่ ในที่สุดฉันกำลังพยายามกลับคำสั่ง 'ถ้า' ที่สองเพื่อให้ฉันสามารถลบสองบรรทัดต่อไปนี้ (echo "รหัสผ่าน ok" และอื่น ๆ ในบรรทัดต่อไปนี้)
# Root user only
if [[ "$EUID" != 0 ]]; then
sudo -k # make sure to ask for password on next sudo
if sudo true; then
echo "Password ok"
else
echo "Aborting script"
exit 1
fi
fi
echo "do my ops"
จุดประสงค์ของ "ความจริง" ในบรรทัดที่สี่เป็นเพียงคำสั่งที่เป็นโมฆะหรือไม่?
ฉันต้องคว่ำการทดสอบในบรรทัดที่สี่ฉันจะทำอย่างไร นี่คือสิ่งที่ฉันได้ลอง:
if sudo false; then
if sudo true == false; then
if [!(sudo true)]; then
echo "Aborting script" >&2