首頁  >  問答  >  主體

linux - 如何將bash輸出的json檔案作為輸入

腳本菜雞,剛接觸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

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

怪我咯怪我咯2678 天前884

全部回覆(2)我來回復

  • 迷茫

    迷茫2017-06-19 09:09:30

    試用:

    name=$(aws get-role....| jq .Role.Name)

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-19 09:09:30

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

    回覆
    0
  • 取消回覆