1. Home
  2. Docs
  3. 使用手册
  4. 运维剧本
  5. 命令列表
  6. RemoteCommand组件

RemoteCommand组件

基于ssh命令模式,封装了执行远程会话的命令,命令执行结束后,会自动结束会话连接。
因为是异步执行,为了方便与async/await协作,故封装了同名但首字母小写的js接口,其具体源码在:https://github.com/aoyiduo/woterm/blob/main/woterm/js/async.js
其参考例子:
https://github.com/aoyiduo/woterm/blob/main/private/playbooks/test/TestRemoteCommand.qml

截取核心代码如下:

import RemoteCommand 1.0

RemoteCommand {
   id: remote
}

asyncGenerator(function *(){
    Playbook.log("command start.")
    remote.hosts = hosts.text.split(',')
    yield remoteCommand(remote, cmd.text).catch(function(){})
    Playbook.log("command finish.")
})();

其属性列表如下:
QString command:可读可写属性,设置远程执行的命令。
QString enterSymbols:可读可写属性,设置结束命令输入的回车符。默认结束符为”\r\n”。