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