【发布时间】:2016-10-03 14:14:38
【问题描述】:
我有一个 Launchdaemon 和脚本,可以在从 App Store 下载应用程序时删除它。
所以应用程序下载并在下载时自动删除。应显示给最终用户的通知消息,但不会显示。有人可以帮忙吗?
这是脚本:
#!/bin/bash
Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)
if [ $Version -ge 12 ]
then
launchctl unload /Library/LaunchDaemons/net.sierra.plist
rm -f /Library/LaunchDaemons/net.sierra.plist
rm -f /usr/local/bin/sierra.sh
exit 0
else
rm -rf /Applications/Install\ macOS\ Sierra.app/
osascript -e 'tell app "System Events" to display dialog "macOS Sierra is not allowed on computers at this time."'
fi
如果我创建一个名为
的测试目录,我会补充一点
/Applications/Install\ macOS\ Sierra.app 它会自动删除它并且您会收到显示消息。
谢谢
【问题讨论】:
-
您确定路径和名称吗?对于 Yosemite,它是“Applications/Installer\ OS\ X\ Yosemite”,而对于 El Capitain,它是“Applications/Installer\ OS\ X\ El\ Capitain”。除此之外,我认为可能是该过程在后台。您是否尝试过使用“告诉应用程序“Finder””。您应该添加的最后一个细节:图标 0 按钮 {“OK”} 默认按钮“OK”(它会给您一个停止图标,只有 1 个按钮而不是 Cancel/OK。
-
我会使用 find 命令来搜索“Sierra.app”。不管它的路径如何,如果它存在并且版本是所需的数字,则将其删除。如果您需要语法方面的帮助,请告诉我。
-
@pbell - 是的,路径和名称是正确的。我也尝试过同样问题的“finder”。
-
@misteralexander - 这听起来很有用,是的,如果你能提供帮助,那就太好了。谢谢
标签: bash applescript launchd