我正在尝试创建一个自动运行的shell脚本,它清除内存并且无法正常工作

时间:2015-05-07 17:33:11

标签: shell applescript automator

有人可以告诉我这有什么问题:

tell application "Terminal"
    activate

    tell application "System Events"
        keystroke "sudo"
        keystroke return
        keystroke "purge"
        keystroke return
    end tell:

end tell

2 个答案:

答案 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