Repository navigation
MacWave 3.0.1
Release Note 更新日志
本次为兼容更新:3.0 装过的用户可以直接 wave selfupdate 升到 3.0.1,不需要重装。
新功能:--dir-option=<路径> 可以省略菜单编号
以前要指定自定义安装目录,必须写成 --dir-option=<编号>=<路径>,其中编号是「other」那一项在目录菜单里的序号(arm64 是 3,Intel 是 4):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" -- --silent --dir-option=3=/opt/my-macwave
3.0.1 起,编号可以直接省略,把路径写在等号后面即可:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" -- --silent --dir-option=/opt/my-macwave
对全部三种写法等价:
| 写法 | 含义 |
|---|---|
--dir-option=N |
静默选目录菜单第 N 项 |
--dir-option=DIR |
自定义目录 DIR(= --dir-option=<自定义项>=DIR) |
--dir-option=N=DIR |
选第 N 项;N 为自定义项时用 DIR 作为安装目录 |
这是纯语法糖,旧的 --dir-option=N=DIR 完全保留,脚本与 CI 都能继续用。
细节
- 只有当
=左边是纯数字时才按N=DIR拆分;所以--dir-option=/opt/a=b这种路径本身带=的写法不会被误拆,整条按路径处理。 - 路径仍然支持
~(会展开成$HOME)与空格(用引号括起来即可)。 - 编号越界、给非自定义项传路径等错误情况,报错信息与之前一致。
这个改动装得上吗
--dir-option 属于安装引导脚本(install.sh / selfupdate.sh,直接从仓库拉取运行),不在文件清单里、不会被安装到本地。所以:
- 已经装好 3.0 的用户:
wave selfupdate可以直接升到 3.0.1(同大版本,守卫放行)。本次功能对已装用户无影响,想用新写法时重跑一次上面的install.sh命令即可。 - 全新安装:直接用新写法即可。
升级方式
wave selfupdate
或重新安装(不是必须):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)"
其他改动
lib/install.sh:--dir-option解析与帮助文本更新(见上)。scripts/sandbox_test.sh:新增两个用例覆盖简写与含空格路径。README.md/README.zh-Hans.md:--dir-option文档更新为「编号可省略」。- 官网
macwave.org版本信息同步到3.0.1 / 2026-10-09。 MacWaveOrg/pkgtest的 README 标题从旧的MacWavePkgTest改为MacWave pkgtest(仅文档,仓库地址不变)。
Release Notes
Compatible update: users already on 3.0 can upgrade with wave selfupdate — no reinstall needed.
New: --dir-option=<path> no longer needs the menu number
Previously, a custom install directory required --dir-option=<number>=<path>, where the number was the "other" entry in the directory menu (3 on arm64, 4 on Intel):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" -- --silent --dir-option=3=/opt/my-macwave
From 3.0.1 the number may be omitted and the path written directly after the =:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)" -- --silent --dir-option=/opt/my-macwave
The three forms are equivalent:
| Form | Meaning |
|---|---|
--dir-option=N |
Silently pick entry N of the directory menu |
--dir-option=DIR |
Custom directory DIR (= --dir-option=<custom entry>=DIR) |
--dir-option=N=DIR |
Pick entry N; use DIR when N is the custom entry |
This is pure sugar — the older --dir-option=N=DIR form is kept as is, so existing scripts and CI keep working.
Details
- An
=is only treated as theN=DIRseparator when the left side is all digits, so a path that itself contains=, e.g.--dir-option=/opt/a=b, is not split and is taken as the path. - Paths still support
~(expanded to$HOME) and spaces (quote them). - Error messages for out-of-range numbers or a path passed with a non-custom entry are unchanged.
Does this change reach installed users?
--dir-option lives in the bootstrap scripts (install.sh / selfupdate.sh), which are fetched from the repository and run directly — they are not in the file list and are never installed locally. Therefore:
- Existing 3.0 users:
wave selfupdateupgrades you to 3.0.1 (same major version, guard allows it). This feature does not affect an existing install; re-run theinstall.shcommand above if you want to use the new form. - Fresh installs: use the new form right away.
How to upgrade
wave selfupdate
Or reinstall (not required):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/MacWaveOrg/MacWave/HEAD/lib/install.sh)"
Other changes
lib/install.sh:--dir-optionparsing and help text updated (see above).scripts/sandbox_test.sh: two new cases covering the shorthand and a path with a space.README.md/README.zh-Hans.md:--dir-optiondocs updated to "the number may be omitted".- Website
macwave.orgversion info synced to3.0.1 / 2026-10-09. MacWaveOrg/pkgtestREADME heading renamed from the oldMacWavePkgTesttoMacWave pkgtest(docs only; the repository URL is unchanged).