1

Mac 安装程序:我想在安装后脚本中做一些事情(弹出对话框)Mac 安装程序:只有在交互式安装的情况下,(不通过 MDM 或命令行)

如何在我的安装后脚本中确定安装是否是交互式的?

4

1 回答 1

1

也许将来会对某人有所帮助:

有 2 个选项:( 可以结合这 2 个选项以获得完整的解决方案,具体取决于其需要)

  1. macos 安装程序设置的环境变量之一是标志 COMMAND_LINE_INSTALL,如果从终端执行安装程序,则该标志设置为 1。

在我的情况下,我只需要检查 COMMAND_LINE_INSTALL 是否存在,如果不存在 - 这意味着这是交互式安装。

重要提示:此环境变量存在且 value=1 仅在从终端(命令行)安装的情况下。

在从 MDM 安装期间,此变量不存在

==================================================== ========================

  1. 另一种解决方案(帮助我确定安装是否来自 MDM):

从安装后脚本:运行 ps 并检查“/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer”是否存在

如果是这样 - 这意味着安装是交互式的(通过 mac 安装程序应用程序)。

我使用的线路:

INSTALLER_APP_PATH ="/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer"

if ps aux | grep -v grep | grep -q "$INSTALLER_APP_PATH"
then
     echo "Interactive installation"
else
    echo "Not an interactive installation"
fi
于 2020-02-13T12:40:24.330 回答