我正在使用bash中的expect。我想让我的脚本telnet到一个框中,等待提示,发送命令。如果现在有不同的提示,它必须继续执行,否则它必须再次发送该命令。 我的脚本如下:
\#!bin/bash
//I am filling up IP and PORT1 here
expect -c "
set timeout -1
spawn telnet $IP $PORT1
sleep 1
send \"\r\"
send \"\r\"
set temp 1
while( $temp == 1){
expect {
Prompt1 { send \"command\" }
Prompt2 {send \"Yes\"; set done 0}
}
}
"
输出:
invalid command name "while("
while executing
"while( == 1){"
请帮我。
我试图将其更改为while [ $temp == 1] {
。
然而,我仍然遇到以下错误:
输出:
invalid command name "=="
while executing
"== 1"
invoked from within
"while [ == 1] {
expect {
$temp
,导致出现奇怪的错误。 - glenn jackman