我编写了一个脚本来检索某些值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数组
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)