【发布时间】:2015-10-20 14:44:39
【问题描述】:
我创建了一个“Shebang”快速脚本。
我正在使用 Process.arguments 解析输入参数
如果“管道”信息通过管道传输到脚本中,我如何读取它?
#!/usr/bin/env xcrun swift
import Foundation
for argument in Process.arguments {
// parse the input arguments
}
// if the input is piped into the script?:
// if PIPE??? {
print("Handling pipe")
let pipe = NSPipe()
let handle = pipe.fileHandleForReading
let data = handle.readDataToEndOfFile()
print("End of pip")
}
【问题讨论】:
-
使用标准输入? *.com/q/24046952/2088135
-
谢谢,我试过了,但它卡住了。
-
print("处理管道") let pipe = NSPipe() let handle = pipe.fileHandleForReading let data = handle.availableData print("End of pip") print(data)
-
请注意您尝试中的
fileHandleForReading和链接答案中建议的fileHandleWithStandardInput之间的区别。