함수 값을 미리 정의하는 가장 좋은 방법은 무엇입니까?

함수 값을 미리 정의하는 가장 좋은 방법은 무엇입니까?

AWS에 서비스를 배포하는 데 도움이 되는 스크립트를 작성했습니다. 내 프로젝트에서는 여러 AWS 계정과 여러 서비스를 사용하므로 사용법을 더 명확하게 하기 위해 일부 값을 미리 정의하고 싶습니다. 이것이 내가 하는 방법이다:

#!/bin/bash

declare -A environments
environments["sandbox"]="aws_sandbox_account_id"
environments["staging"]="aws_staging_account_id"
environments["prod"]="aws_production_account_id"

declare -A services
services["service1"]="api-service-1-ecs-id"
services["service2"]="api-service-2-ecs-id"
services["service3"]="api-service-3-ecs-id"

aws_role=${ASSUMED_ROLE}
service="${services[$1]}"
environment="${environments[$aws_role]}"

echo "deploying ${service} on ${aws_role} with account id ${environment}"
echo "aws ecs update-service --cluster \"arn:aws:ecs:eu-west-2:${environment}:cluster/my-cluster\" --service \"arn:aws:ecs:eu-west-2:${environment}:service/my-cluster/${service}\" --force-new-deployment"
aws ecs update-service --cluster "arn:aws:ecs:eu-west-2:${environment}:cluster/my-cluster" --service "arn:aws:ecs:eu-west-2:${environment}:service/my-cluster/${service}" --force-new-deployment

그런 다음 다음 함수를 정의했습니다.

deploy_service () {
  bash /path/to/file/script.sh $1
}

하지만 이 작업을 수행하는 더 좋은 방법이 있는지, 아니면 적어도 좀 더 관용적인 방법이 있는지 궁금합니다.

관련 정보