我的目标是做
filename=user2.json
userJson=${cat ${filename} | jq}
这显然行不通。
根据这个回答,这应该有效(但事实并非如此):
filename=user2.json
eval "userJson=\${cat $filename | jq}"
Error: ${cat user2.json | jq}: bad substitution
cat user2.json | jq
自己工作得很好
以下是我尝试过但不起作用的其他组合:
1.
filename=user2.json
eval "userJson=\${cat $(filename) | jq}"
Error: ${cat | jq}: bad substitution
2.
filename=user2.json
eval "userJson=\${cat '${filename}' | jq}"
Error: ${cat 'user2.json' | jq}: bad substitution
答案1
错误的括号:
filename=user2.json
userJson=$(jq <"$filename")