รหัสต่อไปนี้ใช้งานไม่ได้ แต่สิ่งที่ฉันต้องการทำคือตอบ"n"ทุกครั้งที่YUMถามว่าฉันต้องการติดตั้งซอฟต์แวร์หรือไม่ ขอบคุณ
#!/usr/bin/expect -f
spawn yum install emacs
expect "Is this ok \[y\/N\]:"
send "n\r"
รหัสต่อไปนี้ใช้งานไม่ได้ แต่สิ่งที่ฉันต้องการทำคือตอบ"n"ทุกครั้งที่YUMถามว่าฉันต้องการติดตั้งซอฟต์แวร์หรือไม่ ขอบคุณ
#!/usr/bin/expect -f
spawn yum install emacs
expect "Is this ok \[y\/N\]:"
send "n\r"
คำตอบ:
เริ่มจากข้อมูลโค้ดของคุณนี่คือสิ่งที่ฉันต้องทำงาน
#!/usr/bin/expect -f
expect -c "
set timeout 15
spawn yum install emacs
expect {
"]:" { send n\r ; sleep 1 ; exp_continue }
}
"
มันยังทำงานร่วมกับ #!/bin/bash
ที่ด้านบน
จากmanpage ยำ :
-y, --assumeyes
Assume yes; assume that the answer to any question which would be asked is yes.
Configuration Option: assumeyes
ดังนั้นเพียงแค่ใช้yum -y
แทน messing expect
รอบด้วย
เปลี่ยน expect "Is this ok \[y\/N\]:"
ไปยัง
คาดหวัง "]:"
คุณได้รับข้อผิดพลาดเดียวกันหรือไม่ ถ้าไม่ใช่พิมพ์ผิดในความคาดหวังของคุณ
exp_internal 1
ที่ด้านบนของสคริปต์และเรียกใช้อีกครั้ง นั่นจะทำให้คุณมีข้อมูลการดีบักมากมาย