【问题标题】:Swift Shell command echo in file文件中的 Swift Shell 命令回显
【发布时间】:2018-06-28 09:24:26
【问题描述】:
func exec(_ path: String, _ args: String...) -> Int32 {
        let task = Process()
            task.launchPath = path
            task.arguments = args
            task.launch()
            task.waitUntilExit()
        
        return task.terminationStatus
    }

exec("/bin/echo", "toto", ">>", "pathToFile")

大家好!有人可以解释一下为什么这段代码会打印到 xcode 终端而不是写入文件?谢谢!

【问题讨论】:

    标签: swift shell echo


    【解决方案1】:

    多个命令、管道、重定向等都是由shell处理的,而不是由单个命令本身处理的。如果要运行“echo”并重定向其输出,则必须运行 shell 并将命令行传递给它以解析和执行。试试:

    exec("/bin/sh", "-c", "echo toto >> /tmp/pathToFile")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-24
      • 2015-10-05
      • 1970-01-01
      • 2018-04-15
      • 2013-03-27
      • 2014-11-08
      • 1970-01-01
      • 2014-11-25
      相关资源
      最近更新 更多