linux - 如何將bash輸出的json檔案作為輸入
怪我咯
怪我咯 2017-06-19 09:07:30
0
2
908

腳本菜雞,剛接觸bash和zsh,現在需要寫一個腳本在linux中處理許多測試帳戶。

使用指令aws get-role....後,cmd中輸出顯示的是一個json文本,之後打算使用jq根據key解析出其中的一個value,但是因為處理的帳號數目龐大,不能將這些帳號對應的json文字儲存為文件形式之後進行處理,有什麼辦法麼?

大概邏輯如下:
最終目的是取得name的value
name=$(cat (aws get-role....) | jq .Role.Name)但是我這麼寫的話系統會提示我zsh: number expected

是我的括號使用的有問題麼?求大神解答。
如果解決了括號的問題,這種寫法是不是太長了不漂亮?還請大神指導一波,感激不盡。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
迷茫

試用:

name=$(aws get-role....| jq .Role.Name)
伊谢尔伦

cat指令後面跟的是檔名,操作是輸出檔內容。然而aws get-role....輸出到STDOUT的並非檔名而是一整個JSON字串,所以覺得直接用name=$(aws get-role.... | jq .Role.Name) 就可以了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板