繁体   English   中英

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

[英]Notification message not displaying after a bash script runs on Mac OS X

我有一个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会自动将其删除,并显示消息。

谢谢

尝试这个:

    #!/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以便其他一些正在运行的进程可以将其输入其逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM