ฉันมีเชลล์สคริปต์แบบโต้ตอบที่หนึ่งต้อง ssh ไปยังเครื่องอื่น (ตาม Ubuntu) และดำเนินการบางอย่างเป็น root (ผู้ใช้ควรป้อนรหัสผ่านของเขา แต่คำสั่งระยะไกลควรทำงานตามที่ระบุไว้ในสคริปต์):
# ...
ssh remote-machine 'sudo ls'
# ...
อย่างไรก็ตามฉันได้รับข้อความแสดงข้อผิดพลาดนี้เสมอ:
sudo: no tty present and no askpass program specified
ตกลงนั่นค่อนข้างชัดเจน แต่ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร สิ่งนี้จะเกิดขึ้น:
$ ssh remote-machine 'sudo ls /'
[sudo] password for user1:
/bin
/etc
/var
ls
เอาต์พุตจะมี \ r \ n ตอนจบตัวอย่างเช่น