Le < filename
La syntaxe est une fonctionnalité fournie par le shell, et non quelque chose que les programmes eux-mêmes traitent.
La bonne façon de gérer cela est de construire un FileHandle
pour lire depuis dumpFile.sql
puis définissez ce FileHandle
comme standardInput
propriété du Process
.
En passant, je ne sais pas pourquoi vous utilisez /usr/bin/env
comme chemin de lancement, puisque vous ne comptez pas sur la recherche PATH ni sur la définition de variables d'environnement.
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()