腳本菜雞,剛接觸bash和zsh,現(xiàn)在需要寫一個(gè)腳本在linux中處理許多測(cè)試帳戶。
使用指令aws get-role....
後,cmd中輸出顯示的是一個(gè)json
文本,之後打算使用jq
根據(jù)key解析出其中的一個(gè)value,但是因?yàn)樘幚淼膸ぬ?hào)數(shù)目龐大,不能將這些帳號(hào)對(duì)應(yīng)的json文字儲(chǔ)存為文件形式之後進(jìn)行處理,有什麼辦法麼?
大概邏輯如下:
最終目的是取得name的valuename=$(cat (aws get-role....) | jq .Role.Name)
但是我這麼寫的話系統(tǒng)會(huì)提示我zsh: number expected
是我的括號(hào)使用的有問(wèn)題麼?求大神解答。
如果解決了括號(hào)的問(wèn)題,這種寫法是不是太長(zhǎng)了不漂亮?還請(qǐng)大神指導(dǎo)一波,感激不盡。
走同樣的路,發(fā)現(xiàn)不同的人生
cat
指令後面跟的是檔名,操作是輸出檔內(nèi)容。然而aws get-role....
輸出到STDOUT的並非檔名而是一整個(gè)JSON字串,所以覺(jué)得直接用name=$(aws get-role.... | jq .Role.Name)
就可以了。