用Shell写了一个用于macOS的音频插件/应用程序/安装包/镜像高级安装工具
( 1 )
[收藏]
用Shell写了一个用于macOS的音频插件/应用程序/安装包/镜像高级安装工具
这是一个用于音频插件/应用程序/安装包/镜像(pkg/mpkg/app/vst/vst3/au/aax/clap/lv2/dmg/iso)的增强安装工具。它具有以下特点(请拷贝当说明书使用):
# 具有命令行工具和右键快捷操作的版本;
# 支持批量安装,即可以多选(pkg/mpkg/app/vst/vst3/au/aax/clap/lv2/dmg/iso)或多选内部存放了这些文件的文件夹,也可以对这些文件以及存放了这些文件的文件夹一起选择进行安装;
# 对pkg/mpkg/安装包类型的app在安装过程中自动监控安装内容,针对支持的安装内容可进行后续的瘦身/重签名操作(根据用户选择是否瘦身/重签名而定)。
# 可选对pkg或mpkg进行静默批量安装或手动安装;
# 支持灵活大幅度配置默认安装方式,比如是否瘦身,是否重签名,是否静默批量安装等,配置好后将在后续使用中不再弹窗询问;
# 对app项目支持选择以安装包方式安装(有些app是一个安装包而不是一个直接用的应用程序)或以应用程序方式安装(拷贝到应用程序目录);
# 安装完成后可对安装的vst2/vst3/app/au/aax/lv2/clap项目进行瘦身(把通用架构变为当前机器的单架构,此选项有助于提高运行效率并降低磁盘占用,可选),重签名(可选)等操作;
# 若所选需要安装的vst2/vst3/app/au/aax/lv2/clap等散包项目已经在安装路径下,则可对它们进行瘦身/重签名操作,而自动跳过安装步骤。
# 所选需要安装的vst2/vst3/app/au/aax/lv2/clap等散包在安装前会先判断安装路径下是否存在多个同名项目,并可做出不同处理。
# 人性化弹窗交互;
重要信息:
1.适用条件:
@此工具仅适用于pkg/mpkg/app/vst/vst3/au/aax/clap/lv2/dmg/iso后缀的安装包或文件/目录。
2.使用方法:
@命令行工具:在终端中使用指令:ainstall (空格后拖入您要安装的pkg/mpkg/app/vst/vst3/au/aax/clap/lv2/dmg/iso后缀的文件或/和包含这些内容的文件夹),然后按回车键;
@右键快捷操作:右击一个或多个pkg/mpkg/app/vst/vst3/au/aax/clap/lv2/dmg/iso后缀的文件或/和包含这些内容的文件夹,在右键菜单里的"快捷操作"子菜单中找到"🦋高级安装🦋"选项并点击即可;
@请注意:若安装任务中存在pkg/mpkg/安装包类型的app项目,请在安装过程中避免在终端中执行rsync/ditto/cp/mv指令,以免影响文件抓取。
@ 如何中途终结代码:
1. 如果您正在使用终端指令ainstall,则只需在终端窗口中按下(有时需按两次)command+c 或在某些带有“退出代码”按钮的弹窗中点击它;
2. 如果您在使用右键服务菜单,直接在顶栏中终止它是不行的,因为代码已经进入了一个循环中,即使你停止了它,也需要等到整个循环运行结束了才会终止。要强行终止的话,您可以在某些带有“退出代码”按钮的弹窗中点击它或者在终端中运行指令:
ps aux | grep '[A]dvance Install' | awk '{print $2}' | xargs sudo kill -9
3.功能缺陷
@请注意.app的安装包由于不同的人制作的不一样,目前测试已经支持由Vmware installbuilder创建的例如iZotope或Audio Modeling等原厂的安装包以及Plugin Allience等厂家这种简单的.app后缀安装包。有些这类安装包处理数据时是比较复杂的或者是某些厂家使用统一的安装助手(或者软件中心)之类的工具进行安装的,基本不支持使用此脚本,比如MeldaProduction,PA的PA-Installmanager这类。
4.默认安装方式配置方法
@使用文本编辑类软件打开/Users/Shared/Darling-Studio/Advance Install/config,并按照里面的说明进行配置即可。
5.责任声明:
@本人只是写了这个代码脚本,询问管理员密码是进程权限所需,无任何盗取密码操作,可对以下文件中的代码进行查看:
/usr/local/bin/ainstall
~/Library/Services/🦋高级安装🦋.workflow
@声明本脚本无故意损坏系统的恶意代码,但如使用过程中出现任何问题包括但不限于导致机器系统出问题等,本人概不负责,请谨慎考虑后使用,安装本软件即表示同意。
@本脚本只作交流使用,请勿非法使用或者商业使用。一切不正当使用带来的一切后果本人概不负责并有权追究。
6.卸载方法:
@在终端中运行以下命令(请拷贝备份):
sudo rm /usr/local/bin/ainstall
sudo rm -r ~/Library/Services/🦋高级安装🦋.workflow
sudo rm -r /Users/Shared/Darling-Studio/Advance\ Install
7. 升级内容
# 版本1.0.1升级内容:
@增加了dmg和iso镜像的支持,支持逻辑:尝试挂载镜像,获取挂载点,并从挂载点内寻找符合此脚本的pkg/mpkg/app/vst/vst3/au/aax/clap/lv2内容,追加写入到待安装列表中进行安装;
@增加了可能在上次脚本未按正常程序退出而导致后台滞留影响pkg/mpkg/安装包类型的app项目安装的清理代码;
@部分语法优化
# 版本 1.0.2 更新内容:
@修复了在安装应用程序类型的app和vst/vst3/au/aax/clap/lv2插件时,安装路径下存在一个同名项目时安装失败的问题。
@增加了在安装应用程序类型的app时,自动修复其执行权限以避免某些下载的app无法运行或者已损坏的问题(注意:提示已损坏等不能运行的原因是多方面的,其中最大可能是没有开启所有来源),此功能仅在开启瘦身或/和重签名时生效。
@增加了在安装应用程序类型的app和vst/vst3/au/aax/clap/lv2插件时是否寻找同名项目的配置开关,详阅配置文件:/Users/Shared/Darling-Studio/Advance Install/config
@请注意由于1.0.2配置文件改变。升级时强制替换原来的配置文件,若在1.0.1配置过,请在升级后重新配置一下。
# 版本 1.0.3 更新内容
@现在开始,原本的“瘦身/重签名”步骤更名为“后期处理”步骤,并且无论有没有开启重签名和瘦身,都会把安装的相关内容确保用户具有执行/访问权限;
@完善了后台残留进程的清理逻辑。现在,如果上一次脚本没有正常关闭导致残留阻碍正常运行的进程,或者同时想打开两个此脚本任务,都会做出提示并让用户选择如何处理;
@更一步完善了安装应用程序类型的app和vst/vst3/au/aax/clap/lv2插件时的逻辑;
@更一步完善了当安装pkg/mpkg而没有使用静默安装时,安装完成后恢复相关路径(当前用户和共享用户)下的被安装文件/目录的权限时的代码逻辑;
@在提取完需安装内容并整理成待安装列表后,现在起会先进行排序然后再安装,排序逻辑:先安装pkg/mpkg,再安装app,最后安装vst/vst3/au/aax/clap/lv2等散包。有助于在某些PJ产品下,需要先安装原版安装包,再进行插件和app替换的情况能正确顺序安装;
@多处小优化
请看这里:这仅供对macOS操作系统和Shell有一定了解的人群使用,如果你看不懂上述说明,请不要使用!
本帖最后由 Darling-Lee 于 25-1-7 11:45 编辑
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
牛