[Shell] Bash String Replacement.
ITWeb/개발일반 2022. 3. 14. 12:14docker-compose.yml 내 .env 를 이용한 활용이 안되는 경우 아래 처럼 그냥 string replacement 를 통해서 처리 할 수도 있습니다.
bash 에서 array, loop, replacement 에 대한 예제로 작성해 둡니다.
SERVICE_NAME='{{SERVICE_NAME}}=escs'
VERSION='{{VERSION}}=8.0.0'
CONTAINER_NAME='{{CONTAINER_NAME}}=escs-c'
DOCKER_VAR=( $SERVICE_NAME $VERSION $CONTAINER_NAME )
for var in "${DOCKER_VAR[@]}"; do
kvs=($(echo $var | tr "=" "\n"))
# linux
sed -i "s/${kvs[0]}/${kvs[1]}/g" docker-compose.yml
# osx
sed -i '' "s/${kvs[0]}/${kvs[1]}/g" docker-compose.yml
done