안녕하세요, 여러분! 오늘은 개발자분들이라면 한 번쯤 들어봤을 '셸 스니펫(Shell Snippet)'에 대해 이야기해볼까 합니다. 셸 스니펫이란, 우리가 흔히 사용하지 않을 때는 그 존재를 잊게 되지만, 막상 필요할 때는 정말 고마운 친구 같은 것입니다. 작고 유용한 셸 스니펫들은 개발 작업을 훨씬 더 수월하게 만들어주고, 반복적인 작업을 줄여주는 마법 같은 도구라고 할 수 있죠.
자, 그럼 제가 자주 사용하는 몇 가지 셸 스니펫을 소개해드리겠습니다. 이 스니펫들은 개인적으로 ~/.zshrc에 저장해서 사용하고 있는데, 여러분에게도 많은 도움이 되길 바랍니다.
1. MAN 페이지를 PDF로 확인하기
pman() {
mandoc -Tpdf "$(man -w $@)" | open -f -a Preview
}
맥 사용자라면 $ pman curl
처럼 사용하실 수 있습니다. 가끔 MAN 페이지를 인쇄하거나 PDF 형태로 저장하고 싶을 때 유용한 기능이에요. 개발 문서를 깔끔하게 관리하고 싶을 때 정말 편리하답니다.
2. GIT REMOTE에서 삭제된 브랜치 제거하기
git fetch -p && for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done
혹은 커스텀 명령어 git gone
을 사용해보세요. 리모트에서 사라진 브랜치를 깔끔하게 정리하는 방법입니다. 깔끔한 리포지토리를 관리하고 싶다면 꼭 실행해보세요.
3. .ENV에 있는 환경변수 적용하기
export $(grep -v '^#' .env | xargs)
여러분이 .env 파일을 사용하고 있다면 이 스니펫이 큰 도움이 될 것입니다. 물론, direnv
를 사용하는 것도 좋지만, 때로는 익숙한 방법이 가장 편리할 때가 있죠.
4. 로컬에서 MYSQL 서버 잠시 사용하기
docker run --rm -d --name mysql \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_ROOT_HOST=% \
-p 3306:3306 \
-v $(pwd)/mysql_data:/var/lib/mysql \
mysql:8 \
--character-set-server=utf8mb4 \
--explicit_defaults_for_timestamp=true
가볍게 로컬에서 MYSQL 작업이 필요할 때 정말 유용한 명령어입니다. -v
옵션을 제외하면 데이터 유지도 걱정 없죠.
오늘 소개해드린 스니펫들이 여러분의 개발 환경을 조금 더 편리하게 만들어줄 수 있기를 바랍니다. 혹시 이 외에도 자주 사용하는 스니펫이 있다면 댓글로 공유해 주세요. 서로의 노하우를 나누며 더 나은 개발 생활을 만들어가요!
다가오는 주도 행복하고 발전 가득한 시간이 되시길 바랍니다. 감사합니다!