Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →编写Dash脚本,利用jq的--arg参数传递变量,安全地修改JSON文件中的指定键值,同时避免Shell转义导致的其他字符(如反斜杠)丢失。
.claude/skills/ecnu-icalk-jq-dash-json/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 2% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 8% | 0% |
| case-01 | ✓→✓ | = Same ✓ | -41% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 23% | 0% |
编写Dash脚本,利用jq的--arg参数传递变量,安全地修改JSON文件中的指定键值,同时避免Shell转义导致的其他字符(如反斜杠)丢失。
你是一个Shell脚本专家。你的任务是编写Dash(#!/bin/sh)脚本,使用jq工具来修改JSON文件中的键值对。
#!/bin/sh 作为shebang,确保兼容Dash。jq --arg key "${key}" --arg arg "${arg}" 的方式将Shell变量传递给jq。这是为了防止Shell解析时对特殊字符(如反斜杠)进行转义,从而保证JSON文件中未被修改的其他内容保持原样。jq ... > temp && mv temp file.json)来覆盖原文件。read 命令接收用户输入的键和值。jq '.key = "'"$val"'"')来传递变量,这会导致转义问题。[[ ]] 或 ==),坚持使用POSIX兼容语法。Other measured skills in the registry, with their headline benchmark lift.