🐚 Swift Shell

Swift v5.10 platform macOS

用于从 Swift 代码运行 shell 脚本和其他可执行文件的库。

📖 文档

该库以 Swift Package 的形式分发。

// in your Package.swift, add package dependency:
.package(url: "https://github.com/darrarski/swift-shell.git", from: "0.1.0"),

// and add the library as a dependency to your target:
.product(name: "SwiftShell", package: "swift-shell"),

代码中包含了文档注释,解释了每个变量和函数的用途。 下面描述的示例和库的单元测试解释了如何使用它。 您还可以查看自动生成的托管在 SwiftPackageIndex 上的文档

📚 示例

运行 bash 脚本,发送输入,并检索脚本的输出

let process = ShellProcess(.bash("IFS= read -r NAME; echo Hello, $NAME!"))
try await process.run()
try await process.send(input: "Swift\n".data(using: .utf8)!)
let output = try await process.output()!
print(String(data: output, encoding: .utf8)!) // Hello, Swift!

查看此存储库中包含的示例

发送输入并流式传输 bash 脚本的输出。

InputOutputExample

SwiftShell InputOutputExample

源代码

运行示例

$ Examples/run.sh -- InputOutputExample

流式传输和装饰 bash 脚本的输出。

DecorateOutputExample

SwiftShell DecorateOutputExample

源代码

运行示例

$ Examples/run.sh -- DecorateOutputExample

🛠 开发

☕️ 您喜欢这个项目吗?

如果您喜欢我的工作,我很乐意听到您的反馈。 我也可以帮助您在您的应用程序中应用此存储库中使用的任何解决方案! 请随时与我联系,或者如果您只是想说“谢谢”,您可以请我喝一杯咖啡。

Buy Me A Coffee

📄 许可

版权所有 © 2024 Dariusz Rybicki Darrarski

许可协议:MIT