Dotfiles - ZSH 및 Bash용 공유 구성

How to setup a common shell config, to avoid duplicating content in .bashrc and .zshrc



macOS에서는 ZSH를, Linux에서는 Bash를 기본 셸로 사용합니다. .zshrc.bashrc 파일을 모두 유지해야 합니다. 그 중 일부 코드는 OS에 고유하지만 대부분의 논리는 공유 파일에 들어갈 수 있습니다.

파일 구조



그래서 .commonrc 를 만들었습니다. ZSH 및 Bash 구성 파일에 의해 로드됩니다. 그리고 공통 구성을 변경하면 두 셸에 모두 적용됩니다.

내 설정은 다음과 같습니다.
  • .commonrc - 공통 콘텐츠.
  • ~.bashrc - Bash 전용 콘텐츠.
  • ~.zshrc - ZSH 전용 콘텐츠.

  • 공통 구성



    여기 내 .commonrc 파일이 있습니다.

    ### Common RC ###
    
    # Common content here...
    


    그 내용은 이 포스트 시리즈에서 다룹니다.

    배시 구성


    .bashrc 상단:

    ### BASH RC ###
    
    source ~/.commonrc
    
    # Bash-specific content here.
    # ...
    
    # Shell prompt.
    # username@hostname:path$
    PS1="\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
    
    # Remove ZSH default warning when using Bash on macOS.
    export BASH_SILENCE_DEPRECATION_WARNING=1
    


    공유할 원본 콘텐츠가 많지 않습니다. 대부분.bashrc은 표준 Linux 설정과 함께 제공됩니다.

    ZSH 구성



    다음은 내 .zshrc 파일의 일부입니다.

    ### ZSH RC ###
    
    IS_ZSH='true'
    IS_BASH='false'
    
    source ~/.commonrc
    
    # ZSH-specific content
    # ...
    


    ZSH 프롬프트



    다시 말하지만, 대부분의 것을 기본값으로 남겨두거나 표준 설정에서 값을 주석 처리할 수 있습니다.

    다음은 프롬프트 주변의 일부 ZSH 관련 값입니다. 커밋되지 않은 변경 사항이 있는 경우 프롬프트가 녹색이 되도록 설정했습니다. 느낌표!가 추가되어 git에서 추적하지 않는 새 파일에 대해 변경된 파일이 물음표?로 표시됩니다.

    이 프롬프트를 사용하면 항상 git status를 실행해야 하는 번거로움을 줄일 수 있습니다. 새로운 쉘 라인으로 이동하고 프롬프트를 업데이트하려면 내용 없이 Enter를 눌러야 하지만.

    ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[blue]%})%{$reset_color%} "
    
    ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!"
    ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
    ZSH_THEME_GIT_PROMPT_CLEAN=""
    


    결론



    이 포스트 시리즈가 도움이 되었기를 바라며 도트 파일에 콘텐츠를 추가하여 개발을 더 원활하게 만들 수 있기를 바랍니다.

    관심이 있으시면 다음 링크를 확인하십시오.

  • dev.to의 태그.

  • #dotfiles GitHub의 주제.

  • 이미지 크레디트: @bill_oxfor Unsplash.

    좋은 웹페이지 즐겨찾기