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

时间:2018-02-01 20:36:57

标签: bash ssh terminal telnet

Pseudo-terminal will not be allocated because stdin is not a terminal

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

echo“显示系统日期”

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

1 个答案:

答案 0 :(得分:2)

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

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

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

您可以在此处详细了解ansible和条件:http://docs.ansible.com/ansible/latest/playbooks_conditionals.html