วางไข่ Linux, คาดหวัง, ส่ง


0

รหัสต่อไปนี้ใช้งานไม่ได้ แต่สิ่งที่ฉันต้องการทำคือตอบ"n"ทุกครั้งที่YUMถามว่าฉันต้องการติดตั้งซอฟต์แวร์หรือไม่ ขอบคุณ

#!/usr/bin/expect -f

spawn yum install emacs
expect "Is this ok \[y\/N\]:"
send "n\r"

เพิ่มexp_internal 1ที่ด้านบนของสคริปต์และเรียกใช้อีกครั้ง นั่นจะทำให้คุณมีข้อมูลการดีบักมากมาย
glenn jackman

คำตอบ:


2

เริ่มจากข้อมูลโค้ดของคุณนี่คือสิ่งที่ฉันต้องทำงาน

#!/usr/bin/expect -f

expect -c  "
    set timeout 15
    spawn yum install emacs

    expect {
        "]:"        { send n\r ; sleep 1 ; exp_continue  } 
    }
"

มันยังทำงานร่วมกับ #!/bin/bashที่ด้านบน


1

จาก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รอบด้วย


0

เปลี่ยน expect "Is this ok \[y\/N\]:"

ไปยัง

คาดหวัง "]:"

คุณได้รับข้อผิดพลาดเดียวกันหรือไม่ ถ้าไม่ใช่พิมพ์ผิดในความคาดหวังของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.