Der < filename
Syntax ist eine Funktion, die von der Shell bereitgestellt wird, nicht etwas, mit dem Programme selbst jemals zu tun haben.
Der richtige Weg, dies zu handhaben, besteht darin, ein FileHandle
zu konstruieren zum Lesen aus dumpFile.sql
und dann diesen FileHandle
setzen als standardInput
Eigenschaft des Process
.
Nebenbei bemerkt, ich weiß nicht, warum Sie /usr/bin/env
verwenden als Startpfad, da Sie sich nicht auf die PATH-Suche verlassen oder Umgebungsvariablen festlegen.
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()