linux – So übernehmen Sie die JSON-Dateiausgabe von Bash als Eingabe
怪我咯
怪我咯 2017-06-19 09:07:30
0
2
914

Skript-Neuling, neu in Bash und ZSH, muss jetzt ein Skript schreiben, um viele Testkonten unter Linux zu verwalten.

Verwenden Sie den Befehlaws get-role....后,cmd中输出显示的是一个json文本,之后打算使用jq, um einen der Werte basierend auf dem Schlüssel zu analysieren. Aufgrund der großen Anzahl der verarbeiteten Konten kann der diesen Konten entsprechende JSON-Text jedoch nicht zur Verarbeitung gespeichert werden ?

Die ungefähre Logik lautet wie folgt:
Das ultimative Ziel besteht darin, den Wert des Namens zu erhalten
name=$(cat (aws get-role....) | jq .Role.Name)但是我这么写的话系统会提示我zsh: number expected

Stimmt etwas mit meinen Brackets nicht? Bitten Sie Gott um Antworten.
Wenn das Klammerproblem gelöst ist, ist diese Schreibweise dann zu lang und nicht schön? Ich bitte den Meister auch um etwas Anleitung, dafür bin ich sehr dankbar.

怪我咯
怪我咯

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

Antworte allen(2)
迷茫

试下:

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

cat命令后面跟的是文件名,操作是输出文件内容。然而aws get-role....输出到STDOUT的并非文件名而是一整个JSON字符串,所以觉得直接用name=$(aws get-role.... | jq .Role.Name)就可以了。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage