跳转到正文

桌面命令模式 ​

本页介绍桌面版附带的 ubaa-cli 命令:怎样安装,以及常用的查询和修改方式。

ubaa-cli 命令可以查询校园信息、操作云盘和管理本机日程。它与图形界面共用账号、登录状态、缓存和日程,适合在终端使用或写脚本调用。

安装入口 ​

使用包含命令组件的桌面安装包,保留应用与命令组件的版本一致。

图形应用名统一为 UBAA,命令名统一为 ubaa-cli。Linux 图形程序为 UBAA,命令程序为 ubaa-cli;Windows 图形程序为 UBAA.exe,控制台程序为 ubaa-cli.exe。

平台入口
macOSApp 内的 Contents/MacOS/UBAA --command,可用启动脚本包装为 ubaa-cli
Windows应用目录内的 ubaa-cli.exe,与同目录的 DLL 和 data/ 一起保留
Linux应用目录内的 ubaa-cli,与配套 lib/ 一起保留

Windows 可以将应用目录加入 PATH,然后使用 ubaa-cli,也可以显式运行 ubaa-cli.exe。Linux 可以将 ubaa-cli 链接到 PATH 中的目录,保留实际应用目录和动态库。macOS 可在 PATH 中的目录创建名为 ubaa-cli 的脚本,将下面的路径改为实际安装位置:

sh
#!/bin/sh
exec "/Applications/UBAA.app/Contents/MacOS/UBAA" --command "$@"

为脚本添加执行权限后使用。想自己从源码构建,见参与开发。

常用查询 ​

bash
ubaa-cli --help
ubaa-cli auth login --username YOUR_USERNAME
ubaa-cli auth status
ubaa-cli schedule terms
ubaa-cli grades list --term 2025-2026-1
ubaa-cli --json agenda unsynced
ubaa-cli agenda list --from 2026-11-01 --to 2026-11-08
ubaa-cli agenda export --from 2026-11-01 --to 2026-11-08 --output ./agenda.ics

密码通过不回显输入或标准输入提供,不放在命令参数中。默认的本机日程查询和导出不请求学校服务。命令结束只关闭当前进程,退出账号使用 ubaa-cli auth logout。

修改与脚本调用 ​

学校写操作需要 --confirm-write,本机日程修改需要 --confirm-local-write。先用对应子命令的 --help 核对输入与目标。操作结果未知时,先查询记录,不自动重复提交。

--json 返回结构化结果。脚本应同时检查退出码和返回内容里的业务结果,进程正常退出不等于提交成功。参数、输出与日程字段的完整定义见仓库中的命令说明。

Linux 命令需要当前系统用户可用且已解锁的 Secret Service;SSH 会话没有可用安全存储时,命令会说明原因。

本软件由学生开发者制作并维护,为第三方工具,与北京航空航天大学官方无任何利益关系。