storing remote terminal output in a variable
不会分配伪终端,因为stdin不是终端
我已经使用类似的脚本很长时间了。我在远程设备上登录,运行一些命令,然后注销。我使用telnet和ssh进行远程登录。到目前为止,所有的命令都被回送到远程终端,输出被保存到一些日志文件中。我需要的是能够解释远程终端产生的输出。考虑在通过ssh/telnet成功登录后向远程终端发送以下命令:
echo"显示系统日期"
在运行上述命令之后,我希望将远程机器生成的输出存储在一个变量中,并执行一些if/else语句。到目前为止,我还没有取得任何成功。有人能指导我如何将远程终端生成的输出保存在变量中吗?
如果ansible是一个选项,您可以注册输出,并根据它执行一些操作,例如:
1 2 3 4 5 | - name: show system date command: date register: date - debug: msg="{{ date.stdout }}" |
你可以在这里阅读更多关于Ansible和Conditionals的信息:http://docs.ansible.com/ansible/latest/playbooks_conditionals.html