O
< filename
sintaxe é um recurso fornecido pelo shell, não algo com o qual os próprios programas lidam. A maneira correta de lidar com isso é construir um
FileHandle
para leitura de dumpFile.sql
e, em seguida, defina esse FileHandle
como o standardInput
propriedade do Process
. Como observação lateral, não sei por que você está usando
/usr/bin/env
como seu caminho de inicialização, já que você não está confiando na pesquisa PATH ou definindo nenhuma variável de ambiente. 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()