Novice en scripting, nouveau sur bash et zsh, j'ai maintenant besoin d'écrire un script pour gérer de nombreux comptes de test sous Linux.
Utilisez la commandeaws get-role....
后,cmd中输出显示的是一个json
文本,之后打算使用jq
pour analyser l'une des valeurs en fonction de la clé. Cependant, en raison du grand nombre de comptes en cours de traitement, le texte json correspondant à ces comptes ne peut pas être stocké sous forme de fichier pour le traitement. ?
La logique approximative est la suivante :
Le but ultime est d'obtenir la valeur du nomname=$(cat (aws get-role....) | jq .Role.Name)
但是我这么写的话系统会提示我zsh: number expected
Y a-t-il un problème avec mes supports ? Demandez à Dieu des réponses.
Si le problème des parenthèses est résolu, cette façon d'écrire est-elle trop longue et pas belle ? Je demande également quelques conseils au maître, je suis très reconnaissant.
Essayez-le :
cat
命令后面跟的是文件名,操作是输出文件内容。然而aws get-role....
输出到STDOUT的并非文件名而是一整个JSON字符串,所以觉得直接用name=$(aws get-role.... | jq .Role.Name)
C'est tout.