이 .bash_profile이 있습니다.
alias ip='ipconfig getifaddr en0'
PS1="\[\e[0;31m\]\$ \[\e[0;32m\]\w\[\e[0m\] : "
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
MacOS가 Catalina로 업데이트된 이후(https://support.apple.com/en-us/HT208050) zsh가 기본 터미널이 됩니다.
이것을 zsh .zprofile로 어떻게 변환합니까?
답변1
별칭 지정, 테스트, 도트 명령을 사용하여 다른 파일 가져오기 및 환경 변수 생성은 -s
최신 유사한 쉘 export
에서 동일합니다 . 이러한 작업은 셸에서와 sh
동일한 방식으로 작동합니다 .zsh
bash
쉘에서는 zsh
모든 변수 확장을 큰따옴표로 묶을 것을 요구하지 않습니다. 이는 큰따옴표 중 일부를 제거할 수 있음을 의미합니다.
bash_completion
그리고 스크립트가 nvm.sh
다음에서 발견된 것과 동일한 경우Github nvm
저장소bash
는 쉘과 쉘을 모두 지원하도록 작성되었습니다 zsh
. 즉, 특별한 작업을 수행할 필요가 없습니다.
이렇게 쉬운 부분부터 시작하면 한 가지 중요한 문제가 남는데, 바로 프롬프트 문자열입니다.
프롬프트 문자열은 명시적 색상 이스케이프 코드를 사용하여 빨간색으로 표시되고 $
그 뒤에 공백이 표시되며 현재 작업 디렉터리는 녹색으로 표시됩니다. 그 다음에는 공백으로 둘러싸인 콜론이 있습니다. 현재 작업 디렉토리가 프롬프트에 삽입되며 \w
, 이는 PROMPT_DIRTRIM
Medium 변수의 영향도 받습니다 bash
. PROMPT_DIRTRIM
설정되지 않았다고 가정해 보겠습니다 .
프롬프트 문자열은 다음 위치에 있습니다 bash
.
PS1='\[\e[0;31m\]\$ \[\e[0;32m\]\w\[\e[0m\] : '
프롬프트 문자열 zsh
(색상 없음):
PS1='%# %~ : '
이 프롬프트는 #
루트 쉘에는 표시되지만 %
루트가 아닌 쉘에는 표시되지 않습니다. 루트가 아닌 쉘에서 대신 사용하려면 $
대신 사용하십시오. 프롬프트는 현재 작업 디렉토리를 포함하는 데 사용됩니다. 숫자를 추가하면 의 설정과 동일한 효과를 얻을 수 있습니다. 여기에는 현재 작업 디렉토리의 디렉토리 경로 중 최대 두 개의 경로 이름 구성 요소가 포함됩니다.%
%(!.#.$)
%#
%~
%
PROMPT_DIRTRIM
bash
%2~
그것에 색상을 추가하십시오 :
PS1='%F{red}%#%f %F{green}%~%f : '
프롬프트와 프롬프트 설정 방법에 대한 자세한 내용은 매뉴얼에서 읽어보세요 zshmisc
("프롬프트 시퀀스 확장" 섹션 검색).
이 모든 것을 종합하면 다음과 같이 끝납니다.
alias ip='ipconfig getifaddr en0'
PS1='%F{red}%#%f %F{green}%~%f : '
export NVM_DIR=$HOME/.nvm
[ -s $NVM_DIR/nvm.sh ] && . $NVM_DIR/nvm.sh
[ -s $NVM_DIR/bash_completion ] && . $NVM_DIR/bash_completion