หากฉันเข้าใจอย่างถูกต้องว่าคุณกำลังพยายามทำอะไรคุณใส่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