亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將bash變量傳遞給jq select

將bash變量傳遞給jq select

慕田峪4524236 2019-11-29 09:26:39
我已經編寫了一個腳本來從中檢索某些值file.json。如果將值提供給jq select,它將起作用,但該變量似乎不起作用(或者我不知道如何使用它)。#!/bin/sh#this works ***projectID=$(cat file.json | jq -r '.resource[] | select(.username=="[email protected]") | .id')echo "$projectID"[email protected]#this does not work *** no value is printedprojectID=$(cat file.json | jq -r '.resource[] | select(.username=="$EMAILID") | .id')echo "$projectID"
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

還考慮將shell變量(EMAILID)作為jq變量傳遞(為便于說明,此處也稱為EMAILID):


   projectID=$(cat file.json | 

     jq -r --arg EMAILID "$EMAILID" '

        .resource[]

        | select(.username==$EMAILID) 

        | .id')

后記

作為記錄,另一種可能性是使用jq env函數訪問環境變量。例如,考慮以下bash命令序列:


[email protected]  # not exported

EMAILID="$EMAILID" jq -n 'env.EMAILID'

輸出是一個JSON字符串:


"[email protected]"


查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 1256 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號