winterjung blog


자주 사용하는 셸 스니펫

아래 셸 스크립트나 snippet을 ~/.zshrc에 넣어두거나 alias걸어 종종 사용한다.

1. man 페이지를 pdf로 보기

pman() {  
  mandoc -Tpdf "$(man -w $@)" | open -f -a Preview  
}

pdf view of mv command man page

mac os 기준 $ pman curl처럼 사용

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)

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

이후 localhost:3306으로 접속해 사용하며 볼륨 유지가 필요하지 않다면 -v 옵션은 제거해서 사용.