如何解决从 MacOs SwiftUI App 在终端中运行 shell .sh 脚本
我想创建一个 SwiftUI MacOs 应用程序来从我的应用程序运行 shell 脚本。 因此,我想打开终端并粘贴 .sh 或此脚本的内容并运行它。 首先,我收到了一个权限被拒绝错误,我通过删除沙箱模式解决了这个错误。
但是现在脚本中的所有命令(如 npm 或 mvn)都导致我出现错误:
"zsh:1: command not found: npm\n"
struct ContentView: View {
var title : String
var body: some View {
vstack {
Button(action: {
runcommand()
}) {
Text("Run")
}
}
}
}
func runcommand() {
let path = "/Users/User1/Desktop/test.sh"
print( shell("/Users/User1/Desktop/test.sh start") )
}
func shell(_ command: String) -> (String?) {
let task = Process()
task.launchPath = "/bin/zsh"
task.arguments = ["-c",command]
let pipe = Pipe()
task.standardOutput = pipe
task.standardError = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data,encoding: .utf8)
task.waitUntilExit()
return (output)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。