感谢您提供的任何帮助。
我正在尝试创建一个 bash 脚本来修改 Visual Studio Code 中的 settings.json 文件中的键值。
我要修改的键是window.zoomLevel
.我尝试使用 jq: jq -r '.window.zoomLevel' settings.json
、jq -r 'window.zoomLevel' settings.json
或 来读取它jq -r '.zoomLevel' settings.json
,但我无法读取它,甚至出现编译错误。我创建了 settings.json 的副本并将变量的名称更改为,window_zoomLevel
并且我能够使用相同的代码成功读取它:jq -r '.window_zoomLevel' settings.json
。如何在不修改 json 文件的情况下访问该变量?
正如你所想象的,我对 json 结构了解不多,所以请帮助我。
该文件如下所示:
{
"security.workspace.trust.untrustedFiles": "open",
"launch": {
"configurations": [
{
"type": "bashdb",
"request": "launch",
"name": "Bash-Debug (hardcoded script name)",
"cwd": "${/.../...}",
"program": "$/.../....sh",
"args": []
}
]
},
"kite.showWelcomeNotificationOnStartup": false,
"editor.fontSize": 10,
"files.autoSave": "afterDelay",
"screencastMode.fontSize": 20,
"scm.inputFontSize": 10,
"debug.console.fontSize": 10,
"terminal.integrated.fontSize": 10,
"markdown.preview.fontSize": 10,
"window.zoomLevel": -1.5,
"editor.mouseWheelZoom": true
}
答案1
我终于能够读取该变量并使用我找到的代码对其进行修改这里:
mv settings.json temp.json &&
jq -r '."window.zoomLevel" |= -1.5' temp.json > settings.json &&
rm temp.json
这基本上是一个引号等问题 [ ."window.zoomLevel"
vs'."window.zoomLevel"'
(正确的一个)]。如果有人能更详细地解释这一点,我将不胜感激,但至少我能够做我想做的事。