有没有办法用管理员权限编写“做脚本”,就像使用“执行shell脚本”一样?我有一个脚本,我正在编写,打开一个终端窗口,并获得另一个用户帐户的大小,但我得到权限被拒绝错误。我可以通过在命令之前输入sudo轻松解决这个问题,但我不想在终端窗口输入密码。我希望通过对话框提示,这样我就可以输入密码,就像我使用“do shell脚本”一样。
这是我的剧本的一部分:
告诉应用程序“终端”
激活 做脚本“sudo du -sh / Users / example”
告诉
我知道你也可以这样解决这个问题:
使用管理员权限执行shell脚本“du -sh / Users / example”
但这样做会打开终端窗口,但不会启动命令。
答案 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