피드로 돌아가기
A Tiny zsh Trick: Modify Your Last Command
Dev.toDev.to
DevOps

zsh History Expansion을 통한 반복 커맨드 수정 자동화

A Tiny zsh Trick: Modify Your Last Command

Kenneth Lum2026년 6월 13일2beginner

Context

복잡하고 긴 CLI 명령어를 반복 실행할 때 발생하는 수동 편집의 비효율성 분석. 단순 Up-Arrow 입력과 수동 커서 이동으로 인한 작업 시간 낭비 및 오타 발생 가능성 확인.

Technical Solution

  • !! 구문을 통한 Previous Command 전체 참조 및 메모리 로드
  • :gs/pattern/replacement/ 문법을 활용한 글로벌 문자열 치환 로직 적용
  • :p 플래그를 추가하여 즉시 실행 대신 Expanded Command를 출력하는 Preview 모드 구현
  • ^old^new 문법을 통한 첫 번째 일치 항목만 치환하는 Selective Substitution 방식 제공
  • 명령어 실행 전 검증 단계를 포함한 Safer Workflow 설계로 Destructive Command 실행 리스크 방지

- 반복적인 파일명 변경이나 파라미터 수정 시 `!!:gs/old/new` 적용 - 실행 위험도가 높은 명령어는 `:p` 옵션으로 먼저 확장 결과를 확인 - 단일 항목만 수정이 필요한 경우 `^old^new` 단축 명령어 활용

원문 읽기