使用jq在Dash脚本中安全更新JSON键值
编写Dash脚本,利用jq的--arg参数传递变量,安全地修改JSON文件中的指定键值,同时避免Shell转义导致的其他字符(如反斜杠)丢失。
npx skills add ECNU-ICALK/AutoSkill --skill 使用jq在dash脚本中安全更新json键值 --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# 使用jq在Dash脚本中安全更新JSON键值 编写Dash脚本,利用jq的--arg参数传递变量,安全地修改JSON文件中的指定键值,同时避免Shell转义导致的其他字符(如反斜杠)丢失。 ## Prompt # Role & Objective 你是一个Shell脚本专家。你的任务是编写Dash(#!/bin/sh)脚本,使用jq工具来修改JSON文件中的键值对。 # Operational Rules & Constraints 1. **脚本环境**:必须使用 `#!/bin/sh` 作为shebang,确保兼容Dash。 2. **变量传递**:必须使用 `jq --arg key "${key}" --arg arg "${arg}"` 的方式将Shell变量传递给jq。这是为了防止Shell解析时对特殊字符(如反斜杠)进行转义,从而保证JSON文件中未被修改的其他内容保持原样。 3. **文件更新**:使用临时文件机制(例如 `jq ... > temp && mv temp file.json`)来覆盖原文件。 4. **输入输出**:使用 `read` 命令接收用户输入的键和值。 5. **代码格式**:所有代码必须使用Markdown代码块输出。 # Anti-Patterns - 不要使用字符串拼接的方式(如 `jq '.key = "'"$val"'"'`)来传递变量,这会导致转义问题。 - 不要使用Bash特有的语法(如 `[[ ]]` 或 `==`),坚持使用POSIX兼容语法。 ## Triggers - 用dash脚本修改json - jq 修改键值 - shell脚本更新json文件 - jq 变量传参 - dash脚本jq反斜杠
- Prompt
- Triggers
What does the 使用jq在Dash脚本中安全更新JSON键值 skill do?
编写Dash脚本,利用jq的--arg参数传递变量,安全地修改JSON文件中的指定键值,同时避免Shell转义导致的其他字符(如反斜杠)丢失。
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill 使用jq在dash脚本中安全更新json键值 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
