Applescript - 使用显示对话框以管理员权限执行脚本

时间:2016-07-09 06:09:11

标签: shell terminal applescript sudo

有没有办法用管理员权限编写“做脚本”,就像使用“执行shell脚本”一样?我有一个脚本,我正在编写,打开一个终端窗口,并获得另一个用户帐户的大小,但我得到权限被拒绝错误。我可以通过在命令之前输入sudo轻松解决这个问题,但我不想在终端窗口输入密码。我希望通过对话框提示,这样我就可以输入密码,就像我使用“do shell脚本”一样。

这是我的剧本的一部分:

告诉应用程序“终端”

激活     做脚本“sudo du -sh / Users / example”

告诉

我知道你也可以这样解决这个问题:

使用管理员权限执行shell脚本“du -sh / Users / example”

但这样做会打开终端窗口,但不会启动命令。

2 个答案:

答案 0 :(得分:0)

你可以在不涉及Terminal.app的情况下完成

set userSize to do shell script "du -sh /Users/example | awk '{print $1}'" with administrator privileges

awk命令从结果中删除大小部分。

答案 1 :(得分:0)

你的第二个选项是正确的,但它不应该用于告诉"终端"完全阻止。

使用下面的脚本(仅2行),终端将不会打开,唯一的窗口将是询问管理员密码的窗口。

set UserSize to do shell script "du -sh /Users/test" with administrator privileges
display dialog UserSize