< filename
syntax är en funktion som tillhandahålls av skalet, inte något som programmen själva någonsin hanterar.
Det korrekta sättet att hantera detta är att konstruera en FileHandle
för läsning från dumpFile.sql
och ställ sedan in FileHandle
som standardInput
egenskapen för Process
.
Som en sidoanteckning vet jag inte varför du använder /usr/bin/env
som din startväg, eftersom du inte förlitar dig på PATH-sökning eller ställer in några miljövariabler.
let input = try FileHandle(forReadingFrom: URL(fileURLWithPath: "dumpFile.sql"))
let task = Process()
task.launchPath = "/usr/bin/mysql"
task.arguments = ["-h", "theHost", "-P", "3306", "-u", "root", "-pTheInlinePassword", "example_database"]
task.standardInput = input
task.launch()