将最后执行的命令的输出存储在expect scrip中

2024-09-28 17:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个期望脚本,如下所示

#!/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。在

我该怎么做?任何帮助都将不胜感激。在


Tags: togt脚本sendbinusrshpassword