Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash/Shell 스크립트에서 문자열 연결하기: 예제로 배우는 올바른 방법

Bash에서 문자열을 연결(합치기)하는 올바른 방법을 간단한 글로 정리했습니다. 실제 동작하는 예제도 함께 포함되어 있으니 바로 따라 해보실 수 있습니다.

셸 스크립트에서 두 개 이상의 문자열을 합치는 방법은 여러 가지가 있습니다. 어떤 프로그램들은 문자열을 입력받아 병합된 결과를 반환하기도 하는데, 이런 프로그램의 부수 효과(side-effect)를 활용해 문자열을 연결하는 것은 사실상 시간 낭비입니다. 따라서 이 글에서는 가장 간단하고 가독성이 뛰어난 방법에 초점을 맞춰 설명합니다.

문자열 안에 다른 문자열 삽입하기

새 문자열을 생성할 때 기존 문자열을 아래와 같이 삽입할 수 있습니다:

#!/bin/bash
string1="Hello"
string2="${string1} there!"
echo "${string2}"

리눅스 셸 스크립트의 '#!'는 무엇일까요?

포함할 수 있는 문자열의 개수에는 제한이 없습니다. 꼭 두 개일 필요 없이 원하는 만큼 자유롭게 조합할 수 있습니다!

위 echo 명령어에서 string2를 그대로 출력하지 않고 큰따옴표로 한 번 더 감싼 이유가 궁금하실 수 있습니다. 이는 공백이나 특수문자가 포함된 경우에도 문자열이 의도한 대로 정확히 처리되도록 보장하는 안전한 습관이기 때문입니다.

또한 변수 이름을 중괄호({})로 감싸면 변수 이름과 주변 문자들이 서로 섞여 잘못 해석되는 상황을 방지할 수 있습니다. 예를 들어 "${string1}abc"처럼 변수 바로 뒤에 다른 문자가 붙는 경우에도 중괄호가 변수의 경계를 명확히 알려줍니다.

Bash 스크립트에서 문자열 병합/연결하기

이미 존재하는 두 문자열은 새 문자열을 만들 때 다음과 같이 병합할 수 있습니다:

#!/bin/bash
string1='Hello'
string2='there!'
string3="${string1} ${string2}"
echo "${string3}"

위 예제를 실행하면 Hello there!라는 결과가 출력됩니다. 두 문자열 사이에 공백을 넣고 싶다면 큰따옴표 안에서 공백을 직접 지정하면 됩니다.

문자열 덧붙이기(Appending)

+= 연산자를 사용하면 한 문자열을 다른 문자열 끝에 손쉽게 덧붙일 수 있습니다:

string1="Hello, "
string1+=" there!"
echo "${string1}"

추가적인 변수를 새로 만들 필요 없이 기존 변수에 바로 값을 이어 붙일 수 있는 깔끔한 단축 방법입니다. 반복문 안에서 문자열을 계속 누적해야 할 때 특히 유용합니다.