< filename
सिंटैक्स शेल द्वारा प्रदान की जाने वाली एक विशेषता है, न कि ऐसा कुछ जिससे प्रोग्राम स्वयं कभी निपटते हैं।
इसे संभालने का सही तरीका एक FileHandle
. बनाना है dumpFile.sql
. से पढ़ने के लिए और फिर उस FileHandle
. को सेट करें standardInput
के रूप में Process
. की संपत्ति ।
एक साइड नोट के रूप में, मुझे नहीं पता कि आप /usr/bin/env
का उपयोग क्यों कर रहे हैं आपके लॉन्च पथ के रूप में, क्योंकि आप PATH लुकअप पर निर्भर नहीं हैं या कोई पर्यावरण चर सेट नहीं कर रहे हैं।
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()