TCL中是否有一种方法可以对条件语句进行条件处理? [重复]

问题描述 投票:-1回答:1

有没有一种方法可以对期望命令进行条件设置。例如,在下面的代码中,我试图将SSH转换为特定的IP地址,有时它会问我“您确定要继续连接(是/否)吗?”有时并非如此。如何使它显示为[[IF,我发送“是/ r”,而发送IF,不是,我继续我的代码?

set name="123.456.78.910" expect "$ " ; send -- "ssh root@$name\r" expect { "Password:" { send "password" } timeout { sleep 1 } } expect "Are you sure you want to continue connecting (yes/no)?" ; send -- "yes\r”
tcl expect
1个回答
1
投票

If期望超时,脚本错误。

如果,您将收到“继续连接”提示,发送“是”并保持期望。

如果,您将收到“密码”提示,请发送密码并继续等待。何时出现shell提示,expect命令完成,并继续执行程序。

© www.soinside.com 2019 - 2024. All rights reserved.