我有一个期望脚本,如下所示
#!/usr/bin/expect -f
set user [lrange $argv 0 0]
set password [lrange $argv 1 1]
set ipaddr [lrange $argv 2 2]
set command [lrange $argv 3 3]
set timeout 10
# now connect to remote UNIX box (ipaddr) with given script to execute
spawn ssh -o StrictHostKeyChecking=no $user@$ipaddr $command
expect "*?assword:*"
# Send password aka $password
send -- "$password\r"
interact
# send blank line (\r) to make sure we get back to gui
#send -- "\r"
这个expect脚本是从python脚本调用的,该脚本将下面的字符串传递给命令变量
“/bin/bash”自定义开始.sh““
$command变量具有上述值。在
这个自定义开始.sh根据情况回显“正在运行”或“未运行”。 我想通过expect脚本在python脚本中捕获这个“正在运行”或“不运行”。在
简而言之,流程如下。在
python脚本--->;expect脚本--->;自定义开始.sh在
在自定义开始.sh-------“正在运行”或“未运行”-->;expect脚本--->;python。在
Python使用subprocess.check_输出(). 因此,首先我需要在expect脚本中引入“running”或“notrunning”,然后将其传递给python。在
我该怎么做?任何帮助都将不胜感激。在
有一个全局变量“errorCode”包含失败命令的错误代码。 请参阅Tcl手册“调试和错误”:
https://www.tcl.tk/man/tcl8.5/tutorial/Tcl36.html
相关问题 更多 >
编程相关推荐