공학박사 권경안
Bash에서 여러 명령어를 한 줄에 실행하기 - ;의 활용 본문
개발을 하면서 여러 개의 명령어를 한 번에 실행해야 할 일이 자주 있습니다. 특히, 배포나 환경 설정을 할 때는 여러 단계를 순차적으로 실행해야 하는 경우가 많죠.
최근 저는 아래와 같은 명령어를 자주 사용하고 있습니다.
git pull ; docker-compose down -v ; docker-compose up -d
이 한 줄의 명령어는 크게 세 가지 작업을 순차적으로 수행합니다.
1️⃣ git pull
• 현재 브랜치의 최신 변경 사항을 가져옵니다.
• 협업 중이라면, 다른 개발자의 변경 사항을 반영하는 과정입니다.
2️⃣ docker-compose down -v
• 실행 중인 Docker 컨테이너를 모두 종료하고(down),
• -v 옵션을 사용하여 볼륨(volume) 데이터까지 삭제합니다.
• 주로 캐시를 완전히 초기화하고 깨끗한 상태에서 다시 시작하고 싶을 때 사용합니다.
3️⃣ docker-compose up -d
• docker-compose.yml 파일에 정의된 컨테이너를 다시 실행합니다.
• -d 옵션을 붙이면 **백그라운드(Detached mode)**에서 실행되므로, 터미널을 차지하지 않고 계속 작업을 진행할 수 있습니다.
; (세미콜론) 의 역할
여기서 중요한 부분은 **각 명령어 사이에 ;(세미콜론)**을 사용했다는 점입니다.
Bash에서 ;를 사용하면 앞의 명령어가 성공하든 실패하든 상관없이 다음 명령어를 실행합니다.
즉, git pull이 실패하더라도 docker-compose down -v가 실행되며, 이후에도 docker-compose up -d가 그대로 실행됩니다.
&&와 비교
만약 앞의 명령어가 성공했을 때만 다음 명령어를 실행하고 싶다면, ; 대신 &&를 사용할 수도 있습니다.
git pull && docker-compose down -v && docker-compose up -d
이렇게 하면 git pull이 실패할 경우, 그 뒤의 명령어는 실행되지 않습니다.
언제 ;를 사용할까?
저 같은 경우, 어떤 단계에서 실패하더라도 다음 단계가 실행되길 원하는 경우 ;를 사용합니다.
예를 들어, git pull이 충돌로 인해 실패하더라도 Docker 컨테이너를 재시작하는 과정은 필요할 수 있기 때문입니다.
반면, 특정 단계가 반드시 성공해야 다음 단계로 넘어가야 하는 경우라면 &&를 사용하는 것이 더 안전합니다.
마무리
Bash에서는 한 줄에 여러 개의 명령어를 실행하는 방법으로 ;, &&, || 등을 활용할 수 있습니다.
상황에 따라 적절한 연산자를 사용하면 더 효율적인 스크립트와 명령어 실행이 가능하니, 필요에 맞게 활용해 보세요!
여러분은 Bash에서 어떤 방식을 자주 사용하시나요? 😃
'Programming > Computer Science' 카테고리의 다른 글
울프럼 알파 Wolfram Alpha – 수학 계산의 혁명적인 도구 (1) | 2025.03.19 |
---|---|
LG 32인치 4k 모니터, 맥북연결 해상도 (0) | 2021.02.12 |
구글 인터뷰와 아마존 인터뷰 후기 (Technical Interview) (6) | 2015.07.31 |
맥 MS Office 2016 설치 사용기: UI 엄청난 개조! (4) | 2015.07.21 |
킨들 2014년 7세대 사용기: 한글 읽기 엄청 쉽다 (0) | 2015.02.14 |