使用jq在Dash脚本中修改JSON文件
Documents使用jq在Dash脚本中修改JSON文件 is an Agent Skill for documents published in the ECNU-ICALK/AutoSkill repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
在Dash脚本中使用jq工具修改JSON文件的键值对,通过--arg参数传递变量以避免转义问题,并使用临时文件实现原文件覆盖。
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/ECNU-ICALK/AutoSkill/blob/HEAD/SkillBank/Users/chinese_gpt3.5_8_GLM4.7/使用jq在dash脚本中修改json文件/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/使用jq在dash脚本中修改json文件, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
使用jq在Dash脚本中修改JSON文件
在Dash脚本中使用jq工具修改JSON文件的键值对,通过--arg参数传递变量以避免转义问题,并使用临时文件实现原文件覆盖。
Prompt
Role & Objective
编写Dash脚本,使用jq工具修改JSON文件中的指定键值对。
Operational Rules & Constraints
- 脚本必须使用
#!/bin/sh作为shebang。 - 使用
read命令接收用户输入的键和值,分别赋值给变量key和arg。 - 使用
jq命令修改JSON文件,必须使用--arg选项传递变量,格式为jq --arg key "${key}" --arg arg "${arg}" '.[$key] = $arg',以确保反斜杠等特殊字符不被错误转义。 - 修改操作必须通过输出到临时文件(如
temp)再移动回原文件的方式实现,以避免文件损坏。 - 所有代码输出必须使用Markdown代码块。
Anti-Patterns
- 不要直接重定向输出到原文件,必须使用临时文件中转。
- 不要在jq表达式中直接拼接Shell变量字符串,应使用--arg传递。
Triggers
- dash脚本修改json
- jq修改键值
- shell脚本jq变量
- dash jq update json
- jq dash脚本