bash や zsh を初めて使用するスクリプト初心者は、Linux で多くのテスト アカウントを処理するスクリプトを作成する必要があります。
コマンド aws get-role....
を使用すると、cmd の出力に json
テキストが表示されます。その後、jq
を使用する予定です。値の 1 つであるキー Out に基づいて解析するには、処理されるアカウントの数が膨大であるため、これらのアカウントに対応する JSON テキストをファイル形式で保存して処理することができません。
おおよそのロジックは次のとおりです:
最終的な目標は、name の値を取得することですname=$(cat (aws get-role....) | jq .Role.Name )
しかし、このように書くと、システムは私にプロンプトを表示しますzsh: 期待される番号
私の括弧に何か問題がありますか?神に答えを求めてください。
括弧の問題が解決すれば、この書き方は長すぎて美しくないでしょうか?マスターにも色々とご指導をお願いしております、大変感謝しております。
試してみましょう:
リーリーcat
命令后面跟的是文件名,操作是输出文件内容。然而aws get-role....
输出到STDOUT的并非文件名而是一整个JSON字符串,所以觉得直接用name=$(aws get-role.... | jq .Role.Name)
以上です。