AWS-CLI証明書Shellスクリプト


資格証名を便利にするために作られました。


1つのコマンドで、プロファイルとバージョンを同時に設定できます.
  • OS : Linux Ubuntu
  • プリインストールパッケージ:pass
  • エラーを検出)
    1.export環境変数を設定できません.
    ->~/.bashrc関数aws-login(){source aws-login.sh}で解決
  • default領域は変更できません.
  • 使用方法の説明


    プロファイル入力をdefaultに設定するとpassには値がないため、環境変数のaccess key、secret key値は「定義解除」されます.
    したがって、passにキー値を登録するには、次のようにします.

    時間的に履歴書とpassパッケージが存在するかどうかを確認します.
    必要だと思ったら、修正を計画します.
    #!/bin/bash
    printf "\n[Profiles List] \n$(aws configure list-profiles)\n\n"
    
    read -p "Profile: " user_name
    ## read -p "Region: " select_region
    
    PS3='Please Select one: '
    
    printf "\n"
    printf "[Select Region]\n"
    select select_region in "미국 동부 (버지니아 북부) us-east-1" "아시아 태평양 (서울) ap-northeast-2" "User input Region"
    do
      case $select_region in
      "미국 동부 (버지니아 북부) us-east-1")
           select_region="us-east-1"
           break;;
      "아시아 태평양 (서울) ap-northeast-2")
           select_region="ap-northeast-2"
           break;;
      "User input Region")
           read -p ": " read_region
           select_region=$read_region
           break;;
      *)
           echo "Invalid input. select number"
           ;;
      esac
      REPLY=
    done
    
    
    ## Profile 검사 통과 if문 작성할 것
    
    printf "\ninstall: aws configure --profile <Your Name>\n\n"
    
    aws configure set default.region $select_region
    aws configure set region $select_region --profile $user_name
    
    unset AWS_PROFILE
    export AWS_PROFILE=$user_name
    ## unset AWS_DEFAULT_PROFILE
    ## export AWS_DEFAULT_PROFILE=$user_name
    printf "AWS-login: $user_name\n region: $(aws configure get region --profile $user_name)\n$(aws iam get-login-profile --user-name $user_name)\n\n"
    
    printf "[Selection Profile] \n$(aws configure list)\n\n"
    
    ## pass에 등록안되어 있으면 설치 확인 및 설치 의사 select문 작성할 것
    ## pass 확인 후 엑세스 키, 시크릿 키 입력 받는 if문 작성할 것
    ## read -sp "AWS_ACCESS_KEY: " access_key_init
    ## read -sp "AWS_SECRET_ACCESS_KEY: " secret_key_init
    
    ## Key 검사 통과 if문 작성할 것, pass 유무 체크 후 export 다르게 할 것
    ## export AWS_ACCESS_KEY_ID=$access_key_init
    ## export AWS_SECRET_ACCESS_KEY=$secret_key_init
    unset AWS_ACCESS_KEY_ID
    unset AWS_SECRET_ACCESS_KEY
    export AWS_ACCESS_KEY_ID=$(pass aws/$user_name/aws-access-key-id)
    export AWS_SECRET_ACCESS_KEY=$(pass aws/$user_name/aws-secret-access-key)
    echo "Succeses read Keys"
    #EOF
      

    export環境変数を設定できません


    bashでshellスクリプトファイルを実行すると、サブプロセスは親プロセスにのみ戻り値を渡します.
    したがって、サブbashにexportとして登録しようとしても設定されていません.

    ソリューション


    ScreenShotと同じ既存のハードリンクファイルを削除します.
  • 両親bashの中のfunc.関数を挿入し、サブbashをsourceとしてロードします.