问题描述
我想创建一个 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 (将#修改为@)