有人可以告诉我这有什么问题:
tell application "Terminal"
activate
tell application "System Events"
keystroke "sudo"
keystroke return
keystroke "purge"
keystroke return
end tell:
end tell
答案 0 :(得分:0)
不确定为什么要在bash
shell脚本中完美地使用Automator和Applescript以及其他东西。
如果您复制此文件并将其作为purgenow
#!/bin/bash
sudo /usr/sbin/purge
然后启动终端并使脚本像这样执行
chmod +x ~/Desktop/purgenow
您可以双击它并运行脚本。
答案 1 :(得分:0)
使用sudo的命令应该只有在你的帐户拥有管理员权限或以root用户身份登录时才能正常工作,因为通常会提示你输入密码,输入密码会很困难对于shell - 来自AppleScript的实用程序。
相反,您可以排除整个sudo命令,因为您可以让do shell脚本事件为您处理,通过执行带有管理员权限的do shell脚本来指定密码并在提示时输入包含管理员权限和密码的帐户名称。
您还可以为do shell script
事件指定谓词,该事件允许您指定用户名和密码,删除密码对话框提示,并自动运行清除命令管理员权限。
在某些情况下,可以在do shell script
之前添加tell me
事件,以便在应用程序块中调用do shell script
事件(这样做风格很糟糕)真的,应该尽可能避免。)
do shell script "/usr/sbin/purge" with administrator privileges use name "Admin" password "password"
您可以在“脚本编辑器”的“标准添加”字典中阅读有关do shell script
事件的信息。还有技术说明,您可能希望浏览:Technical Note TN2065: do shell script in AppleScript。