jq 不会因空 json 而引发

问题描述 投票:0回答:1

我有这行代码可以按预期工作:

echo '{"slot":"we"}' | jq -re '.slot' || exit 1

但是,即使我希望如此,这段代码也不会引发错误:

echo ' ' | jq -re '.slot' || exit 1

这也不是:

echo '' | jq -re '.slot' || exit 1

如果找不到“slot”键,我如何确保它会引发错误?我的意思是,在最后两个示例中,退出代码都是 0

bash jq
1个回答
0
投票

为此,您可以使用 grep 和选项

-q
来传输 jq 命令。

此选项检查输出是否包含任何字符

echo ' ' | jq -re '.slot' | grep -q . || exit 1
© www.soinside.com 2019 - 2024. All rights reserved.