วิธีจัดการกับเงื่อนไขเมื่อสคริปต์ที่คาดว่าจะเรียกใช้งานสคริปต์อื่นบนรีโมตโฮสต์ถูกขัดจังหวะ?


0

ฉันใช้สคริปต์คาดหวังว่าจะพูด xyz.exp เพื่อเข้าสู่ระบบโฮสต์ระยะไกลและดำเนินการสคริปต์อื่น abc.sh

ตอนนี้เวลาส่วนใหญ่ abc.sh ทำงานได้ดี แต่มีสถานการณ์สมมติที่หากเงื่อนไขบางประการไม่สำเร็จสคริปต์จะหยุดและต้องการอินพุตของผู้ใช้สองคู่จากนั้นดำเนินการต่อ

มีวิธีใดบ้างที่จะจัดการกับสถานการณ์นี้เช่นที่สคริปต์คาดหวัง xyz.exp สามารถแก้ปัญหานี้ได้แบบโต้ตอบ?

หากสิ่งนี้เกิดขึ้นทั้งสคริปต์หยุดทำงานและฉันจะปิดเทอร์มินัลแล้วทำใหม่


1
นั่นคือสิ่งที่คาดหวัง คุณอาจต้องเพิ่มรหัสของสคริปต์เพื่อให้เราสามารถช่วยคุณได้
ความโกลาหล

คำตอบ:


0

คุณจะเปลี่ยน

expect "something that you already expect"

ไปยัง

expect {
    "this happens sometimes" {
        send -- "some input\r"
        exp_continue
    }
    "something that you already expect"
}

เมื่อเราคาดหวังในรูปแบบ: คาดหวัง {"สิ่งนี้เกิดขึ้นบางครั้ง" {ส่ง - "บางอินพุต \ r" exp_continue} "สิ่งที่คุณคาดหวังไว้แล้ว"} นี่หมายความว่ามันจะทำงานได้ก็ต่อเมื่อสภาพนั้นเกิดขึ้น ไม่คาดหวังใช่ไหม
user417721
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.