gpt4 book ai didi

if-statement - Expect 脚本中的“if else”语句

转载 作者:行者123 更新时间:2023-12-05 03:12:11 25 4
gpt4 key购买 nike

我正在尝试创建一个脚本,该脚本将根据执行前一个脚本收到的输出“发送”输入。

#!/usr/bin/expect --
set timeout 60

spawn ssh user@server1

expect "*assword*" { send "password\r"; }

expect "*$*" { send "./jboss.sh status \r"; }
if [ expect "*running*" ];
then { send "echo running \r"; }
else { send "./jboss.sh start \r"; }
fi

我正在尝试做这样的事情,但我卡在了 if else 语句中。我该如何解决?

最佳答案

您可以简单地将它们分组到单个 expect 语句中,无论哪个匹配,都可以相应地进行处理。

#!/usr/bin/expect
set timeout 60
spawn ssh user@server1
expect "assword" { send "password\r"; }
# We escaped the `$` symbol with backslash to match literal '$'
# The last '$' sign is to represent end-of-line
set prompt "#|%|>|\\\$ $"
expect {
"(yes/no)" {send "yes\r";exp_continue}
"password:" {send "password\r";exp_continue}
-re $prompt
}
send "./jboss.sh status\r"
expect {
"running" {send "echo running\r"}
-re $prompt {send "./jboss.sh start \r"}
}
expect -re $prompt

关于if-statement - Expect 脚本中的“if else”语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34710618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com