我在终端中运行以下命令。
/ usr / bin / osascript -e'做shell脚本" / path / to / myscript args 2>& 1 etc"拥有管理员权限'
问题是GUI是为了询问密码而打开的,但它说 osascript 想要进行更改。我想把osascript这个词换成我自己的话。
什么是最佳解决方案?
答案 0 :(得分:0)
要求输入密码的对话框是osascript
工具的一部分,您似乎无法更改密码。您必须编写自己的GUI应用程序来提示输入密码并使用提升的权限运行命令。
答案 1 :(得分:0)
您可以使用expect命令处理各种输入问题。
答案 2 :(得分:0)
这是怎么回事?
let command = "do shell script \"/path/to/myscript args 2>&1 etc\" with administrator privileges"
let script = NSAppleScript(source: command)
let output = script?.executeAndReturnError(nil)
print(output)
这将运行命令并显示一个GUI提示符,其中包含当前应用程序的名称(我在Cocoa应用程序中使用此命令)。与使用Process类相比,唯一的缺点是你没有获得有关命令成功的任何信息,你只需获得输出。