寻观「标准库」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「操作系统」之「环境变量」之书。
寻观「标准库」之「操作系统」之「进程」之书。
寻观「构建基础」之「包定位」之书。
寻观「包配置」之「配置解析」之书。
寻观「包配置」之「配置数据」之书。
寻观「包配置」之「包依赖」之书。
寻观「拓展库」之「癸象工具」之「癸象解析」之书。
寻观「拓展库」之「癸象工具」之「癸象数据结构」之书。
寻观「批量发布」之「发布工具」之书。
寻观「批量发布」之「发行材料」之书。

「帮助」者『yy批量发布：扫描当前 Git 工作目录中的所有 。包。豫
默认只列出计划，不构建、不联网、不上传。
  --打包                 生成源码、标准文档、独立构建包及当前平台运行包
  --发布                 生成或复用 ZIP，然后上传；必须指定 --所有者
  --所有者 名称          只选择该所有者；服务器最终核对令牌身份
  --包 名称              只处理指定包（默认全部）
  --输出 目录            默认 .yybuild/发布；保留 ZIP 与逐包结果
  --工具链 目录          默认本工具所在目录，需 yy4_bs、yy豫构及运行时源码
  --服务 HTTPS地址       默认 https://packages.yuyan-lang.org
  -h, --help             显示帮助

示例：
  ./yy批量发布
  ./yy批量发布 --打包 --所有者 豫言
  ./yy批量发布 --发布 --所有者 豫言

发布读取 YY_UPLOAD_TOKEN；请在 shell 安全设置，不要把令牌写进参数。
失败包不阻止后续包；有任一失败时退出码为 1。再次运行复用已有 ZIP，
不会按已变化的工作树覆盖同一版本。需 Git、curl、zip、tar、clang 和包声明的 C 系统库。
当前仅支持 macOS/Linux；独立构建与运行材料只针对当前平台。
』也。
「选项」即「字符串」合「字符串」合「字符串」合「字符串」合「字符串」合「字符串」也。
「读选项」乃化（「列」于「字符串」）而化「选项」而「选项」也。
「读选项」者会「参数」而会「值」而鉴「参数」而
  有「罄」则「值」
  或有（「缀」于『--打包』于「尾」）则「读选项」于「尾」于（『打包』与（「值」中「一」）与（「值」中「二」）与（「值」中「三」）与（「值」中「四」）与（「值」中「五」））
  或有（「缀」于『--发布』于「尾」）则「读选项」于「尾」于（『发布』与（「值」中「一」）与（「值」中「二」）与（「值」中「三」）与（「值」中「四」）与（「值」中「五」））
  或有（「缀」于『--所有者』于（「缀」于「名」于「尾」））则「读选项」于「尾」于（（「值」中「零」）与「名」与（「值」中「二」）与（「值」中「三」）与（「值」中「四」）与（「值」中「五」））
  或有（「缀」于『--包』于（「缀」于「名」于「尾」））则「读选项」于「尾」于（（「值」中「零」）与（「值」中「一」）与「名」与（「值」中「三」）与（「值」中「四」）与（「值」中「五」））
  或有（「缀」于『--输出』于（「缀」于「名」于「尾」））则「读选项」于「尾」于（（「值」中「零」）与（「值」中「一」）与（「值」中「二」）与「名」与（「值」中「四」）与（「值」中「五」））
  或有（「缀」于『--工具链』于（「缀」于「名」于「尾」））则「读选项」于「尾」于（（「值」中「零」）与（「值」中「一」）与（「值」中「二」）与（「值」中「三」）与「名」与（「值」中「五」））
  或有（「缀」于『--服务』于（「缀」于「名」于「尾」））则「读选项」于「尾」于（（「值」中「零」）与（「值」中「一」）与（「值」中「二」）与（「值」中「三」）与（「值」中「四」）与「名」）
  或有「其他」则「发生事故」授以「选项」于『未知选项或缺少参数，请运行 -h』也。
「绝对径」乃化「字符串」而「字符串」也。
「绝对径」者会「径」而若「路径名是绝对路径」于「径」则「径」否则「路径合并」于（「获取当前路径」于「元」）于「径」也。
「上传归档」乃化「字符串」而化「字符串」而化「字符串」而「有」也。
「上传归档」者会「服务」而会「令牌」而会「归档」而
  虑「凭据」者「求输出」于『mktemp』于（「列」【『/tmp/yy上传凭据.XXXXXX』】）而
  虑「无」者「写文件」于「凭据」于（『header = "Authorization: Bearer 』附「令牌」附『"
』）而
  虑「结果」者「尝试运行」授以「字符串」于（会「无」而
    「求输出」于『env』于（「列」【『-u』，『YY_UPLOAD_TOKEN』，『curl』，『-q』，『--config』，「凭据」，『--silent』，『--show-error』，『--fail-with-body』，『--connect-timeout』，『30』，『--max-time』，『1800』，『--header』，『Content-Type: application/zip』，『--data-binary』，（『@』附「归档」），（「服务」附『/api/releases/zip』）】））
    于（会「错」而（「删文件」于「凭据」；（「发生事故」授以「字符串」于「错」）））而
  虑「无」者「删文件」于「凭据」而
  虑「无」者「写文件」于（「归档」附『.回应.json』）于「结果」而
  鉴「癸象解析」于「结果」而
    有（「癸象对象」于「字段」）则
      虑「完成」者「滤」授以（「字符串」合「癸象」）于（会「项」而「串相等」于（「项」中「零」）于『incomplete』）于「字段」而
      鉴「完成」而有（「列」【（「忽略」与（「癸象爻」于「未完」））】）则
        若「未完」则「发生事故」授以「有」于『版本已建立，但材料尚未全部展开；重传同一 ZIP 可补齐』否则「打印行」于（『发布成功：』附「结果」）
      或有「其他」则「发生事故」授以「有」于『版本已建立，但材料尚未全部展开；重传同一 ZIP 可补齐』
    或有「其他」则「发生事故」授以「有」于『服务未返回有效发布结果』也。
「执行批次」乃化「选项」而「有」也。
「执行批次」者会「选」而
  虑「根」者「真实路径」于（「获取当前路径」于「元」）而
  虑「索引」者「发现具名包」于「根」于『』而
  虑「包们」者「滤」授以「包记录」于（会「记」而
    「且」于（「或者」于（「串相等」于（「选」中「一」）于『』）于（「串相等」于（「选」中「一」）于（「记」中「零」）））于
      （「或者」于（「串相等」于（「选」中「二」）于『』）于（「串相等」于（「选」中「二」）于（「记」中「一」））））于「索引」而
  虑「无」者「须」于（「非」于（「等于」于（「长度」授以「包记录」于「包们」）于「零」））于『没有匹配的包』而
  虑「无」者「态射」授以「包记录」授以「有」于「包们」于（会「记」而「打印行」于（（「包全名」于「记」）附『  版本：』附（「包版本」于（「解析包文件」于（「记」中「二」）））））而
  若「串相等」于（「选」中「零」）于『计划』则「打印行」于『以上仅为计划；加 --打包 或 --发布 执行。』
  否则虑「工具链」者「真实路径」于（「绝对径」于（「选」中「四」））而
    虑「系统」者「求输出」于『uname』于（「列」【『-s』】）而
    虑「架构」者「求输出」于『uname』于（「列」【『-m』】）而
    虑「无」者「须」于（「包内含名」于（「列」【『Darwin』，『Linux』】）于「系统」）于『当前只支持 macOS/Linux』而
    虑「令牌」者（「获取环境变量」于『YY_UPLOAD_TOKEN』）中「一」而
    虑「无」者若「串相等」于（「选」中「零」）于『发布』则
      「须」于（「且」于（「非」于（「串相等」于（「选」中「一」）于『』））于（「且」于（「等于」于（「字节长度」于「令牌」）于「六四」）于（「全部符合」授以「字符串」于（会「字」而「是子字符串吗」于「字」于『0123456789abcdef』）于（「获取字符」于「令牌」））））于『发布需要 --所有者 和有效的 YY_UPLOAD_TOKEN』否则「元」而
    虑「服务」者「选」中「五」而
    虑「无」者「须」于（「或者」于（「串开头是它吗」于『https://』于「服务」）于（「串开头是它吗」于『http://127.0.0.1:』于「服务」））于『服务必须为 HTTPS（测试仅允许 127.0.0.1）』而
    虑「输出」者「绝对径」于（「选」中「三」）而
    虑「无」者「建目录」于「输出」而
    虑「输出」者「真实路径」于「输出」而
    虑「无」者「须」于（「或者」于（「非」于（「路径位于目录」于「输出」于「根」））于（「路径位于目录」于「输出」于（「路径合并」于「根」于『.yybuild』）））于『输出须在扫描目录之外或 .yybuild 内，避免将发行材料再次收进源码』而
    虑「无」者若「路径可执行」于（「路径合并」于「工具链」于『yy文档网站生成器』）则「元」否则
      虑「无」者「换目录」于「工具链」而
      虑「无」者「尝试运行」授以「有」于（会「无」而「行步骤」于『./yy豫构』于（「列」【『构建』，『文档网站生成器』，『--编译器』，『./yy4_bs』，『--输出』，『yy文档网站生成器』】））
        于（会「错」而（「换目录」于「根」；（「发生事故」授以「有」于「错」）））而「换目录」于「根」而
    虑「锁」者「路径合并」于「输出」于『.发布锁』而
    虑「无」者「须」于（「运行」于『mkdir』于（「列」【「锁」】））于『输出目录正被占用；若上次异常退出，请确认无运行任务后移除 .发布锁』而
    虑「状态们」者「态射」授以「包记录」授以「爻」于「包们」于（会「记」而
      「尝试运行」授以「爻」于（会「无」而
        虑「无」者「打印行」于（『处理：』附（「包全名」于「记」））而
        虑「档」者「制作归档」于「索引」于「记」于「工具链」于「输出」于「系统」于「架构」而
        虑「无」者若「串相等」于（「选」中「零」）于『发布』则「上传归档」于「服务」于「令牌」于「档」否则「打印行」于（『已打包：』附「档」）而「阳」）
      于（会「错」而（「打印行」于（『失败：』附（「包全名」于「记」）附『：』附「错」）；「阴」）））而
    虑「无」者「行步骤」于『rmdir』于（「列」【「锁」】）而
    虑「失败数」者「长度」授以「爻」于（「滤」授以「爻」于（会「值」而「非」于「值」）于「状态们」）而
    虑「无」者「打印行」于（『批次结束，总数：』附（「整数表示」于（「长度」授以「包记录」于「包们」））附『，失败：』附（「整数表示」于「失败数」））而
    若「等于」于「失败数」于「零」则「元」否则「退出」于「一」也。

虑「参数」者「获取参数」于「元」而
若「或者」于（「包内含名」于「参数」于『-h』）于（「包内含名」于「参数」于『--help』）则「打印行」于「帮助」
否则「执行批次」于（「读选项」于「参数」于（『计划』与『』与『』与『.yybuild/发布』与（「获取文件夹名」于（「真实路径」于（「获取程序名」于「元」）））与『https://packages.yuyan-lang.org』））。
