터미널 사생활 보호 모드

어쩔 땐 터미널 기록에 저장되기 싫은 명령문을 실행해야 될 때가 있습니다. 예를 들어, GPG 키를 관리하는 명령어들은 기록에 저장되면 안 되겠죠. 만약 그렇다면 다음 스니펫이 도움이 될 수 있습니다.

만약 zsh를 사용하신다면 다음 코드를 .zshrc에다, 아니면 bash를 쓰신다면 .bashrc (또는 .bash_profile)에다가 삽입하세요:

function incognito() {
    unset HISTFILE
    export PROMPT='[INCOGNITO] %n@%m %1~ %# '
}

사용하시는 터미널에 따라서 PROMPT 대신 PS1을 설정하셔야 될 수도 있습니다. 여기에 표시한 PS1 프롬프트는 맥OS의 기본 설정값에서 빌려 왔습니다. 필요하시다면 OS 기본 설정값이나 취향에 맞게 수정하세요.

이제 incognito를 입력하면, 현재 터미널 세션이 기록 파일에 저장되지 않습니다. 즐겁게 코딩하세요!


이 방식이 어떻게 작동하는지 궁금하시다면, 꽤 간단합니다. 터미널은 기록 파일을 사용하여 사용 기록을 저장하는데, 예로 .bash_history.zsh_history에 이전에 사용했던 명령문을 저장하여 history 명령이나 Ctrl-R 키(명령 기록 반전 탐색)로 검색하여 다시 불러올 수 있게 합니다. 이는 HISTFILE이란 변수에 저장되는데, 이를 해제해주면 터미널이 이 기록 파일을 찾지 못하여 현재 세션이 저장되지 않습니다.

댓글