腳本菜雞,剛接觸bash和zsh,現在需要寫一個腳本在linux中處理許多測試帳戶。
使用指令aws get-role....
後,cmd中輸出顯示的是一個json
文本,之後打算使用jq
根據key解析出其中的一個value,但是因為處理的帳號數目龐大,不能將這些帳號對應的json文字儲存為文件形式之後進行處理,有什麼辦法麼?
大概邏輯如下:
最終目的是取得name的valuename=$(cat (aws get-role....) | jq .Role.Name)
但是我這麼寫的話系統會提示我zsh: number expected
是我的括號使用的有問題麼?求大神解答。
如果解決了括號的問題,這種寫法是不是太長了不漂亮?還請大神指導一波,感激不盡。
試用:
cat
指令後面跟的是檔名,操作是輸出檔內容。然而aws get-role....
輸出到STDOUT的並非檔名而是一整個JSON字串,所以覺得直接用name=$(aws get-role.... | jq .Role.Name)
就可以了。