Shell

Swift5 macOS

该模块将 Unix 命令行工具公开为 Swift 5 的 @dynamicCallable 函数

一些警告:这只是一个演示。它应该可以正常工作,但为了错误处理和 Swift 的完美性,你可能希望以不同的方式处理 fork 进程 🤓(顺便说一句:欢迎提交 PR!)

此博客文章的一部分:@dynamicCallable:将 Unix 工具作为 Swift 函数

示例工具

常规 Swift Package Manager 设置流程

mkdir ShellConsumerTest && cd ShellConsumerTest
swift package init --type executable

示例 main.swift

import Shell

print(shell.host("zeezide.de"))

示例 Package.swift

// swift-tools-version:5.0

import PackageDescription

let package = Package(
    name: "ShellConsumerTest",
    dependencies: [
        .package(url: "https://github.com/AlwaysRightInstitute/Shell.git",
                 from: "0.1.0"),
    ],
    targets: [
        .target(name: "ShellConsumerTest", dependencies: [ "Shell" ]),
    ]
)

请记住在两个地方添加依赖项。 WET (Write Everything Twice) 是最好的!

swift runswift test 会将 $PATH 仅修补为 /usr/bin。你可能需要直接运行二进制文件,以使查找能够正常工作。

为了使其工作,你需要安装 Swift 5+。

链接

作者

ZeeZide 提供。我们喜欢反馈、GitHub 星标、酷炫的合同工作,大概任何你能想到的赞美形式都喜欢。