[英]Using variable inside command substition is being interpreted as a command [duplicate]
我正在尝试使用另一个变量的管道 output 设置一个新变量,但它不起作用。 我的语法有什么问题?
使用命令替换$()
a="{\"a\": 1}"
echo $a
# output is: {a: 1}
echo $a | jq '.a'
# output is: 1
b=$($a | jq '.a')
# error: {"a":: command not found
没有命令替换
b=$a | jq '.a'
# b is empty
jq
可以在不使用echo
或<<<here-string
的情况下处理包含在变量中的 JSON 。
#!/usr/bin/env bash
a='{"a": 1}'
echo "$a"
# output is: {a: 1}
jq -n "$a | .a"
# output is: 1
b=$(jq -n "$a | .a")
# b=1
echo "$b"
# output is: 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.