< filename
cú pháp là một tính năng được cung cấp bởi shell, không phải là thứ mà các chương trình tự xử lý.
Cách thích hợp để xử lý điều này là tạo một FileHandle
để đọc từ dumpFile.sql
và sau đó đặt FileHandle
đó dưới dạng standardInput
thuộc tính của Process
.
Xin lưu ý thêm, tôi không biết tại sao bạn đang sử dụng /usr/bin/env
làm đường dẫn khởi chạy của bạn, vì bạn không dựa vào tra cứu PATH hoặc thiết lập bất kỳ biến môi trường nào.
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()