我有这行代码可以按预期工作:
echo '{"slot":"we"}' | jq -re '.slot' || exit 1
但是,即使我希望如此,这段代码也不会引发错误:
echo ' ' | jq -re '.slot' || exit 1
这也不是:
echo '' | jq -re '.slot' || exit 1
如果找不到“slot”键,我如何确保它会引发错误?我的意思是,在最后两个示例中,退出代码都是 0
为此,您可以使用 grep 和选项
-q
来传输 jq 命令。
此选项检查输出是否包含任何字符
echo ' ' | jq -re '.slot' | grep -q . || exit 1