linux 添加检查以查找返回值是否不是对象

mfuanj7w  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(151)

我有一个变量,它的值如下所示:

  1. val = $(curl command ...)

字符串
val返回一个看起来像{"parm1":"****","data":"adfsdfsdaf"}的对象
我想为两个条件添加验证:

  • val是一个对象或
  • val.datanull

我想打印一条消息“数据未正确解析”

  • valobject时,例如{"parm1":"****","data":"adfsdfsdaf"}

我想打印一条消息“数据为空”

  • valnull时。

我写了下面的逻辑,但它看起来不正确:

  1. if [[ ${val} == null ]]; then
  2. echo "data not parsed correctly"
  3. exit 1


当脚本不应退出时,val的正确值为adfsdfsdaf

yxyvkwin

yxyvkwin1#

关于jq

  1. if val=$(curl ... \
  2. | jq 'try
  3. if .data != null
  4. then .
  5. else ("is null" | halt_error)
  6. end
  7. catch
  8. ("not an object" | halt_error)
  9. ' 2>&1
  10. )
  11. then
  12. do_something_with_valid "$val"
  13. else
  14. echo "error: $val" >&2
  15. exit 1
  16. fi

字符串

展开查看全部

相关问题