osx:如何将软件包安装到用户的应用程序支持目录中?

时间:2017-03-21 19:16:29

标签: bash macos installer pkgbuild

我需要将2个音频插件安装到根音频/插件/ VST&组件目录。我的安装程序做得很好。但我还需要在/ Users / $ USER / Library / Application Support / MyCompany文件夹中安装预设文件目录。

我听说安装程序无法在同一个安装程序中安装到/和〜但我真的希望它为用户安装一次。因此,首先安装VST和组件似乎是一个好主意。然后将预设文件夹安装在临时位置(如/ tmp或类似),然后运行安装后脚本将文件移动到用户的库...但我无法使用它。

这是我试图运行的脚本:

#!/bin/bash

# movePresets.sh

# I want something like this...but it doesn't work because $USER is root in the installer I believe

/usr/bin/sudo -u $USER mkdir -p "/Users/$USER/Library/Application Support/MyCompany/Presets"
/usr/bin/sudo -u $USER mv -r "/tmp/Presets" "$USER/$USER/Library/Application Support/MyCompany"


exit 0

显然,我不知道以root用户身份访问用户目录的正确方法。请帮助...谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试先在变量中保存用户?

#!/bin/bash
realuser=$USER
# or
#realuser=$(whoami)

/usr/bin/sudo -u $realuser mkdir -p "/Users/$realuser/Library/Application Support/MyCompany/Presets"
/usr/bin/sudo -u $realuser mv -r "/tmp/Presets" "$realuser/$realuser/Library/Application Support/MyCompany"