Created
July 22, 2018 17:04
-
-
Save wyllie/c99a0ccba64af5e3e6ca901c7a2c9e5d to your computer and use it in GitHub Desktop.
Parse aws credentials file in bash
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
INI_FILE=~/.aws/credentials | |
while IFS=' = ' read key value | |
do | |
if [[ $key == \[*] ]]; then | |
section=$key | |
elif [[ $value ]] && [[ $section == '[default]' ]]; then | |
if [[ $key == 'aws_access_key_id' ]]; then | |
AWS_ACCESS_KEY_ID=$value | |
elif [[ $key == 'aws_secret_access_key' ]]; then | |
AWS_SECRET_ACCESS_KEY=$value | |
fi | |
fi | |
done < $INI_FILE | |
echo $AWS_ACCESS_KEY_ID | |
echo $AWS_SECRET_ACCESS_KEY |
@todgru you solution is better but it is reading the file 2 times
Great work Wylie - as a helpful addition can I suggest you use the $AWS_CONFIG_FILE variable instead of hardcoding the "~/.aws/credentials" file.
@todgru amazing, I never tried that before
If you just need to use aws credentials in a bash script to call aws CLI api, then you use just this one liner at the top of script.
export AWS_PROFILE=user1
Great work!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If available and depending on use case, the
aws
cli tool can retrieve the values,aws configure get varname [--profile profile-name]