首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Swift可执行文件(如"vi")中运行和打印zsh命令

在Swift可执行文件中运行和打印zsh命令,可以通过调用系统函数system()来实现。以下是一个简单的Swift代码示例,展示了如何执行并打印zsh命令:

代码语言:javascript
复制
import Foundation

func runZshCommand(command: String) {
    let task = Process()
    task.launchPath = "/bin/zsh"
    task.arguments = ["-c", command]

    let pipe = Pipe()
    task.standardOutput = pipe
    task.standardError = pipe

    task.launch()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output = String(data: data, encoding: .utf8)

    if let error = pipe.fileHandleForReading.error {
        print("Error reading output: \(error)")
    }

    if let errData = pipe.fileHandleForReading.readDataToEndOfFile() {
        let stderr = String(data: errData, encoding: .utf8)
        if let error = pipe.fileHandleForReading.error {
            print("Error reading error output: \(error)")
        }
        print("Error: \(stderr)")
    }

    task.waitUntilExit()

    if task.terminationStatus == 0 {
        print("Command executed successfully")
    } else {
        print("Command failed with status \(task.terminationStatus)")
    }
}

runZ.g看起来您在代码示例的最后一行有一个小错误,应该是 `runZshCommand()` 而不是 `runZ.g`。下面是修正后的完整代码示例:

```swift
import Foundation

func runZshCommand(command: String) {
    let task = Process()
    task.launchPath = "/bin/zsh"
    task.arguments = ["-c", command]

    let pipe = Pipe()
    task.standardOutput = pipe
    task.standardError = pipe

    task.launch()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output = String(data: data, encoding: .utf8)

    if let error = pipe.fileHandleForReading.error {
        print("Error reading output: \(error)")
    }

    if let errData = pipe.fileHandleForReading.readDataToEndOfFile() {
        let stderr = String(data: err.py看起来您在代码示例的最后一行有一个小错误,应该是 `runZshCommand()` 而不是 `runZ.g`。下面是修正后的完整代码示例:

```swift
import Foundation

func runZshCommand(command: String) {
    let task = Process()
    task.launchPath = "/bin/zsh"
    task.arguments = ["-c", command]

    let pipe = Pipe()
    task.standardOutput = pipe
    task.standardError = pipe

    task.launch()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output = String(data: data, encoding: .utf8)

    if let error = pipe.fileHandleForReading.error {
        print("Error reading output: \(error)")
    }

    if let errData = pipe.fileHandleForReading.readDataToEndOfFile() {
        let stderr = String(data: errData, encoding: .utf8)
        if let error = pipe.fileHandleForReading.error {
            print("Error reading error output: \(error)")
        }
        print("Error: \(stderr)")
    }

    task.waitUntilExit()

    if task.terminationStatus == 0 {
        print("Command executed successfully")
    } else {
        print("Command failed with status \(task.terminationStatus)")
    }
}

runZshCommand(command: "echo 'Hello, World!'")

在这个修正后的示例中,我添加了一个调用 runZshCommand() 的示例,该函数执行 echo 'Hello, World!' 命令,并打印输出结果。您可以根据需要替换为您想要执行的任何 zsh 命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分14秒

064_命令行工作流的总结_vim_shell_python

307
3分25秒

063_在python中完成输入和输出_input_print

1.3K
领券