将远程终端输出存储在一个变量中

伪终端不会被分配,因为stdin不是终端

长久以来,我一直在使用类似的脚本。 我在远程设备上登录,在它们上面运行了一些命令,然后注销。 我使用telnet和ssh进行远程登录。 到目前为止,所有的命令都被回显给远程终端,输出被保存到一些日志文件中。 我需要的是能够解释远程终端产生的输出。 考虑通过SSH / Telnet成功登录后发送给远程终端的命令:

回声“显示系统日期”

在运行上述命令之后,我想将远程机器生成的输出存储在变量中,并执行一些if / else语句。 到目前为止,我没有任何成功。 有人可以请指导我如何将远程终端产生的输出保存在变量中?


如果ansible是一个选项,您可以注册输出并基于它执行一些操作,例如:

- name: show system date
  command: date
  register: date

- debug: msg="{{ date.stdout }}"

你可以在这里阅读更多关于ansible和条件的内容:http://docs.ansible.com/ansible/latest/playbooks_conditionals.html

链接地址: http://www.djcxy.com/p/97137.html

上一篇: storing remote terminal output in a variable

下一篇: SSH exited without connecting to server in shell script