I know the syntax is very ugly but my script below is working fine except "--query" flag of awscli. It's deactivating the old keys and generating the new one for each user. I want the script to write the new generated secret access keys to the txt file that I pointed. It fails and just writing "none" to the text file. I suppose that code after "--query" flag is not working properly. On the other hand there is no output of this command which may show the error.

Here is the code:


declare -i counter=11
declare -i counter2=14

for i in {1..3}

aws iam update-access-key --access-key-id  $(aws iam list-access-keys --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F\" '{print $4}')) --status Inactive --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F\" '{print $4}')
aws iam create-access-key --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F\" '{print $4}') --query 'AccessKey[*].[Username,AccessKeyId,SecretAccessKey]' --output text >> /Users/sampleuser/Desktop/AccessKeyLogs/KeyLogger.txt 


Here is the sample output of create-access-key command(I wanted it as text):

    "AccessKey": {
        "UserName": "Bob",
        "Status": "Active",
        "CreateDate": "2015-03-09T18:39:23.411Z",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
  • The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running. – terdon Feb 8 at 11:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.