หากฉันเข้าใจอย่างถูกต้องว่าคุณกำลังพยายามทำอะไรคุณใส่sudo
คำสั่งนั้นลงในสคริปต์และคาดว่าสคริปต์จะถามรหัสผ่านของคุณเมื่อมันทำงานที่นั่นหรือไม่ ในกรณีนี้คุณกำลังทำสิ่งต่าง ๆ ด้วยวิธีที่ซับซ้อน
วิธีการแก้ปัญหาการทำความสะอาดคือการเขียนสคริปต์ในทางปกติ (เช่นโดยไม่ต้องsudo
) และเรียกใช้เป็นใช้ super เหตุผลที่อยู่เบื้องหลังคือถ้าสคริปต์ต้องการการเข้าถึง superuser จากนั้นให้สิทธิ์การเข้าถึง (ทำไมรอจนกว่าคำสั่งบางอย่าง?) ในสคริปต์เพื่อตรวจสอบว่ามันถูกเรียกใช้ในฐานะ root หรือไม่ทำสิ่งนี้:
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
/dev/null
- คุณกำลัง sudoing เพราะdd
ต้องการเข้าถึงการเขียน/dev/r$temp1
(ฉันถือว่า) คุณจะต้องทำเช่นนั้นไม่ว่าคุณจะปราบปรามdd
เอาท์พุทได้อย่างไร การเปลี่ยนเส้นทางไปที่/dev/null
ไม่ต้องใช้ root