मान लें कि मैं एक test.sh के लिए एक अपेक्षित स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसमें तीन संकेत हैं: prompt1, prompt2, prompt3।वैकल्पिक संकेतों के साथ उम्मीद का उपयोग कैसे करें?
मेरे कोड इस तरह है:
spawn test.sh
expect "prompt1"
send "pass1"
expect "prompt2"
send "pass2"
expect "prompt3"
send "pass3"
हालांकि, prompt2 केवल आधा समय होता है। अगर प्रॉम्प्ट 2 दिखाई नहीं देता है, तो उम्मीद स्क्रिप्ट टूट जाती है। मैं उम्मीद कोड कैसे लिखूंगा जो प्रॉम्प्ट 2 पर छोड़ देता है अगर यह प्रदर्शित नहीं होता है?
संपादित करें:
मेरी कोड फिक्स्ड:
/usr/bin/expect -c '
spawn ./test.sh
expect {
"prompt1" {
send "pass1\r"
exp_continue
}
"prompt2" {
send "pass2\r"
exp_continue
}
"prompt3" {
send "pass3\r"
exp_continue
}
}
interact return
'
इस तरह, स्क्रिप्ट के बाकी निष्पादित करता है और उत्पादन प्रदान करता है।
आप 'एक और पद्धति expect' करने की आवश्यकता होगी लूप से बाहर तोड़ने के लिए सक्षम होने के लिए। अन्यथा आप कभी भी 'इंटरैक्ट' लाइन पर नहीं पहुंच पाएंगे। –