在尝试使用命名配置文件之前,如何检查它是否存在?
aws cli
如果我尝试使用不存在的配置文件会抛出一个丑陋的错误,所以我想做这样的事情:
$(awsConfigurationExists "${profile_name}") && aws iam list-users --profile "${profile_name}" || echo "can't do it!"
在尝试使用命名配置文件之前,如何检查它是否存在?
aws cli
如果我尝试使用不存在的配置文件会抛出一个丑陋的错误,所以我想做这样的事情:
$(awsConfigurationExists "${profile_name}") && aws iam list-users --profile "${profile_name}" || echo "can't do it!"
.aws/config
文件中的条目function awsConfigurationExists() {
local profile_name="${1}"
local profile_name_check=$(cat $HOME/.aws/config | grep "\[profile ${profile_name}]")
if [ -z "${profile_name_check}" ]; then
return 1
else
return 0
fi
}
function awsConfigurationExists() {
local profile_name="${1}"
local profile_status=$( (aws configure --profile ${1} list) 2>&1)
if [[ $profile_status = *'could not be found'* ]]; then
return 1
else
return 0
fi
}
$(awsConfigurationExists "my-aws-profile") && echo "does exist" || echo "does not exist"
或者
if $(awsConfigurationExists "my-aws-profile"); then
echo "does exist"
else
echo "does not exist"
fi