基于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”。