Bash osx:如何将软件包安装到用户&x27;应用程序支持目录?
我需要在根audio/plugins/VST&Components目录中安装2个音频插件。我的安装程序做得很好。但我还需要在/Users/$USER/Library/Application Support/MyCompany文件夹中安装一个预设文件目录 我听说一个安装程序不能在同一个安装程序中安装到/和~中,但我真的希望为用户安装1次。因此,首先安装VST和组件似乎是个好主意。然后将预设文件夹安装到临时位置(如/tmp或类似位置),然后运行安装后脚本将文件移动到用户库中…但我无法使其正常工作 这是我正在尝试运行的脚本:Bash osx:如何将软件包安装到用户&x27;应用程序支持目录?,bash,macos,installation,pkgbuild,Bash,Macos,Installation,Pkgbuild,我需要在根audio/plugins/VST&Components目录中安装2个音频插件。我的安装程序做得很好。但我还需要在/Users/$USER/Library/Application Support/MyCompany文件夹中安装一个预设文件目录 我听说一个安装程序不能在同一个安装程序中安装到/和~中,但我真的希望为用户安装1次。因此,首先安装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用户身份访问用户目录的正确方法。请帮助…谢谢。您是否已尝试先在变量中保存用户
#!/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"
您是否尝试过先在变量中保存用户
#!/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"
这有什么不同$用户仍然是root用户,而不是真正的用户。这有什么不同$用户仍然是root用户,而不是真正的用户。您应该使用
productbuild
为此创建安装程序包(例如.pkg
,.mpkg
);它完成了你提到的一切。post-install.sh文件将在哪里?您可以将该文件添加到用户主页内的某个位置,然后使用其位置检索用户主页路径。或者您可以简单地要求安装后文件必须从用户的主目录(启动它时是终端默认目录)运行。您应该使用productbuild
为此创建安装程序包(例如.pkg
,.mpkg
);它完成了你提到的一切。post-install.sh文件将在哪里?您可以将该文件添加到用户主页内的某个位置,然后使用其位置检索用户主页路径。或者,您可以简单地要求安装后文件必须从用户的home dir(启动它时的终端默认目录)运行。