为了账号安全,请及时绑定邮箱和手机立即绑定

Unix-执行命令时无法正常工作

Unix-执行命令时无法正常工作

守着一只汪 2021-04-05 21:14:46
我正在尝试使用send and Expect ssh模块在远程UNIX主机上执行命令,但是即使脚本成功登录到服务器,它也不会执行命令。#!/usr/bin/expectset timeout 60spawn ssh xxxx@xxxxxxexpect "yes/no" {        send "yes\r"        expect "*?assword" { send "xxxxxx\r" }        } "*?assword" { send "xxxxxxx\r" }expect "$ "#sleep 5send "ps -aef \r"输出[xxxxx@xxxxxx Scripts]$ ./TestExpect.shspawn ssh xxxxx@xxxxxxxxxxxx@xxxxxx's password:Last login: Wed May  9 02:05:47 2018 from xxxxxxxxxKickstarted on 2015-05-12[xxxxx@xxxxx ~]$ [xxxxxx@xxxxx Scripts]$提示如下[aacdd123@linprod345 ~]$
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

问题可能是因为,发送后您什么都没期待ps -aef。因此,在生成输出之前,预期的生成过程已经退出。


尝试在发送后再添加一些命令 ps -aef


send "ps -aef\r"

expect $prompt

send "echo hello\r"

expect $prompt

也尝试查看Expect_out缓冲区,这将为您提供捕获的流。


puts $expect_out(buffer)


查看完整回答
反对 回复 2021-04-16
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信