用途:在把文本作为数据传给 CLI 命令(包括在 JavaScript 中拼装的命令)时,保持文本不被各层解析器误解析。
主要能力与用法:先查看接收命令的帮助文档,只使用其记载的参数和输入方式。可用接口包括:结构化工具或进程 argv API,用一个字符串字段或单个 argv 元素传入,不经 shell;CLI 的文件或 stdin 输入,例如由工具写入的文件或带引号的 heredoc,如 gh pr create --body-file PATH;以及 shell 与位置参数或标志值,做法是把带引号的 heredoc 存入变量,再作为单个带引号参数传入。应优先遵循拥有该文本的技能自身的存储规则(Markdown、单行状态、上下文范围);本技能只处理传输,不负责授权或格式策略。仅当 CLI 有文档说明时才用 -- 传递以连字符开头的位置文本;shell 引号不会关闭选项解析。
Bash 文本参数:选用一个在整个载荷所有行中都不出现的分隔符,两行分隔符都置于第 1 列,切勿把载荷插入未加引号的 heredoc。资料给出了一个 heredoc 赋值示例。注意命令替换会删除所有末尾换行,仅当与目标文本一致时才适用;若末尾换行必须精确,优先使用文件或 stdin,或加入哨兵再移除。空文本是一个参数:""。NUL 无法在 argv 或 Bash 变量中表示,需使用有文档的二进制文件或 stdin 输入,或说明该接口无法承载。
Codex JavaScript 到 Bash:资料提供了一个完整片段,假定 body 已是字符串且 note-cli set 接受一个文本参数,可保留空文本和精确的末尾换行,无需 Node API、编码器或文件系统。
限制与常见错误:JSON.stringify 只做 JSON 序列化,不负责 shell 引号;反引号和 $() 在 shell 双引号内仍会执行;不要用 eval、不要从文本重建命令、不要手写 Base64 修复引号;对生成、用户和日志文本一视同仁;检查每个实际解析器边界,包括远程 shell,存在直接 argv API 时避免多一层 shell。写入后应读取比对,确认成功再重试,避免重复。更多平台支持和收费信息暂未提供。