在Mac OS X上运行bash脚本后,通知消息不会显示

时间:2016-10-03 14:14:39

标签: bash applescript launchd

我有一个Launchdaemon和脚本,可以在从App商店下载应用程序时删除它。

因此应用程序下载并在下载时自动删除。应显示最终用户的通知消息,但不会显示。有人可以帮忙吗?

这是脚本:

v.setTag(holder.view)

我想补充一点,如果我创建一个名为
的测试目录 / Applications / Install \ macOS \ Sierra.app它会自动删除它并显示消息。

感谢

1 个答案:

答案 0 :(得分:0)

试试这个:

    #!/bin/bash
    VERSION=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)

    if [[ "$VERSION" -ge '12' ]]
        then
            echo "TRUE LOGIC RUNNING"
            #launchctl unload /Library/LaunchDaemons/net.sierra.plist
            #rm -f /Library/LaunchDaemons/net.sierra.plist
            #rm -f /usr/local/bin/sierra.sh
        else
            echo "FALSE LOGIC RUNNING"
            #find '/Applications' -type 'f' -name 'Sierra.app' -exec rm -f '{}' \;         #osascript -e 'tell app "System Events" to display dialog "macOS Sierra is not allowed on computers at this time."'
    fi

一旦可以看到正在运行的逻辑部分,就可以取消注释代码。然后,逐步执行它并逐步进行故障排除,以查看错误的位置。

此外,您不需要exit 0,因为脚本将自动退出状态为零的代码。如果你有逻辑测试状态代码,你通常会想exit 1,所以其他一些正在运行的进程可以将其提供给它的逻辑。