PKHeX自动合法性插件终极指南:5分钟打造完全合规的宝可梦
2026/6/12 3:09:52
esh(Embedded SHell) 是一个轻量级的模板引擎,用于在任意模板中嵌入和执行 shell 命令。本文档深入剖析 esh 在开源鸿蒙PC平台的适配全过程,涵盖技术架构分析、适配策略设计、构建系统实现和部署方案,为开发者提供完整的跨平台移植参考。
esh(Embedded SHell) 是一个轻量级的模板引擎,用于在任意模板中嵌入和执行 shell 命令。它类似于 ERB (Embedded Ruby),但专为 shell 脚本设计,主要用于配置文件的模板化处理。
核心特点:
| 项目信息 | 详情 |
|---|---|
| 项目名称 | esh |
| 当前版本 | 0.3.3(适配版本)<br>0.3.2(原始版本) |
| 许可证 | MIT License |
| 源码仓库 | https://github.com/jirutka/esh |
| 适配平台 | 开源鸿蒙PC (aarch64-linux-ohos) |
| 项目类型 | 纯 Shell 脚本(无需编译) |
| 依赖 | POSIX shell、awk、sed(OpenHarmony PC 自带) |
esh 主要用于:
esh 是一个纯 shell 脚本项目,不需要编译,适配工作相对简单:
创建build_ohos.sh脚本,主要功能:
${HNP_PUBLIC_PATH}/esh.org/esh_0.3.3bin/目录/bin/sh)创建hnp.json配置文件:
{"type":"hnp-config","name":"esh","version":"0.3.3","install":{"links":[{"source":"bin/esh","target":"esh"}]}}esh 的依赖:
所有依赖都已满足,无需额外处理。
构建脚本build_ohos.sh的核心逻辑:
#!/bin/bash# esh OpenHarmony build scriptset-e# Installation path inside HNP public directoryexportESH_INSTALL_HNP_PATH=${HNP_PUBLIC_PATH}/esh.org/esh_0.3.3# Create install directoriesmkdir-p${ESH_INSTALL_HNP_PATH}/bin# Copy main esh scriptcpesh${ESH_INSTALL_HNP_PATH}/bin/eshchmod+x${ESH_INSTALL_HNP_PATH}/bin/esh# Copy LICENSE and README.adocif[-f"LICENSE"];thencpLICENSE${ESH_INSTALL_HNP_PATH}/fiif[-f"README.adoc"];thencpREADME.adoc${ESH_INSTALL_HNP_PATH}/fi# Package HNP and tar.gz${HNP_TOOL}pack -i${ESH_INSTALL_HNP_PATH}-o${ARCHIVE_PATH}/tar-zvcf${ARCHIVE_PATH}/ohos_esh_0.3.3.tar.gz esh_0.3.3/esh 脚本本身已经是 POSIX 兼容的,主要处理:
/bin/sh(OpenHarmony PC 标准)# 1. 进入构建目录cdHarmonyOSPC/build# 2. 执行构建脚本SPECIFIC_DIR=esh ./build.sh --sdk /Users/lijiajun/ohos-sdk构建输出:
Building esh templating engine for OpenHarmony PC (aarch64-linux-ohos)... esh installed successfully Packing HNP package... Build completed successfully! Output files: - output/esh.hnp - output/ohos_esh_0.3.3.tar.gz构建成功后,生成以下文件:
/data/service/hnp/esh.org/esh_0.3.3/ ├── bin/ │ └── esh # 主可执行脚本 ├── LICENSE # MIT 许可证 ├── README.adoc # 项目文档 └── hnp.json # HNP 包配置# 在鸿蒙PC上执行tar-xzf ohos_esh_0.3.3.tar.gzcp-r esh_0.3.3/* /data/service/hnp/esh.org/esh_0.3.3/# 复制文件到安装目录mkdir-p /data/service/hnp/esh.org/esh_0.3.3/bincpbin/esh /data/service/hnp/esh.org/esh_0.3.3/bin/chmod+x /data/service/hnp/esh.org/esh_0.3.3/bin/esh# 添加到 PATHexportPATH=$PATH:/data/service/hnp/esh.org/esh_0.3.3/bin安装完成后,可以验证 esh 是否正常工作:
# 查看版本esh -V# 查看帮助esh -hesh 作为纯 Shell 脚本项目,适配到鸿蒙PC平台无需任何编译步骤,只需要:
这使得适配过程非常简洁高效。
esh 完全遵循 POSIX 标准:
esh 仅用约 290 行代码实现了一个完整的模板引擎:
esh 支持类似 ERB 的语法:
<%= ... %>:输出表达式结果<% ... %>:执行脚本块(不输出)<%+ ... %>:包含其他模板文件<%# ... %>:注释成功将 esh 模板引擎适配到开源鸿蒙PC平台: