相关疑难解决方法(0)

将bash变量传递给jq选择

我编写了一个脚本来检索某些值file.json.如果我向jq提供值,它可以工作select,但变量似乎不起作用(或者我不知道如何使用它).

#!/bin/sh

#this works ***
projectID=$(cat file.json | jq -r '.resource[] | select(.username=="myemail@hotmail.com") | .id')
echo "$projectID"

EMAILID=myemail@hotmail.com

#this does not work *** no value is printed
projectID=$(cat file.json | jq -r '.resource[] | select(.username=="$EMAILID") | .id')
echo "$projectID"
Run Code Online (Sandbox Code Playgroud)

bash json environment-variables jq

76
推荐指数
7
解决办法
6万
查看次数

如何将bash数组格式化为JSON数组

我有一个bash数组

X=("hello world" "goodnight moon")
Run Code Online (Sandbox Code Playgroud)

我想变成一个json数组

["hello world", "goodnight moon"]
Run Code Online (Sandbox Code Playgroud)

有没有一种好方法让我把它变成一个json数组的字符串,而不用在子shell中循环键?

(for x in "${X[@]}"; do; echo $x | sed 's|.*|"&"|'; done) | jq -s '.'
Run Code Online (Sandbox Code Playgroud)

这显然不起作用

echo "${X[@]}" | jq -s -R '.'
Run Code Online (Sandbox Code Playgroud)

arrays bash json jq

5
推荐指数
3
解决办法
5928
查看次数

标签 统计

bash ×2

jq ×2

json ×2

arrays ×1

environment-variables ×1