目录
目录README.md

ShellKit

Access local shell as well as remote over SSH for Swift NIO applications

Install using SPM

.package(url: "https://github.com/Einstore/ShellKit.git", from: "1.0.0")

Usage

Connect to a local terminal

let shell = try Shell(.local, on: eventLoop)
let futureResponse = shell.run(bash: "ls -a").map { output in
   print(output)
   return output
}

Connect to a remote service

let shell = try Shell(
    .ssh(
        host: "1292.168.1.2",
        username: "root",
        password: "sup3rS3cr3t"
    ),
    on: eventLoop
)
let futureResponse = shell.run(bash: "ls -a")

Other means of SSH authentication are available!

Example

let eventLoop = EmbeddedEventLoop()
let shell = try Shell(.local, on: eventLoop)
let futureResponse = shell.run(bash: "cd /tmp/ ; pwd").map { output in
   print(output)
   return output
}.flatMapError { error in
   print(error)
   return error.localizedDescription
}
let out: String = try futureResponse.wait()
print(out)

Using CommandKit

Access commands through

Example:

shell.cmd.pwd().map { currentPath in
   print(currentPath)
}

Discover more commands under shell.cmd and shell.cmd.install

Author

Ondrej Rafaj @rafiki270

License

MIT; Copyright 2019 - Einstore

关于
79.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号