이 특정 .bash_profile을 .zprofile로 변환하십시오.

이 특정 .bash_profile을 .zprofile로 변환하십시오.

이 .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동일한 방식으로 작동합니다 .zshbash

쉘에서는 zsh모든 변수 확장을 큰따옴표로 묶을 것을 요구하지 않습니다. 이는 큰따옴표 중 일부를 제거할 수 있음을 의미합니다.

bash_completion그리고 스크립트가 nvm.sh다음에서 발견된 것과 동일한 경우Github nvm저장소bash는 쉘과 쉘을 모두 지원하도록 작성되었습니다 zsh. 즉, 특별한 작업을 수행할 필요가 없습니다.

이렇게 쉬운 부분부터 시작하면 한 가지 중요한 문제가 남는데, 바로 프롬프트 문자열입니다.

프롬프트 문자열은 명시적 색상 이스케이프 코드를 사용하여 빨간색으로 표시되고 $그 뒤에 공백이 표시되며 현재 작업 디렉터리는 녹색으로 표시됩니다. 그 다음에는 공백으로 둘러싸인 콜론이 있습니다. 현재 작업 디렉토리가 프롬프트에 삽입되며 \w, 이는 PROMPT_DIRTRIMMedium 변수의 영향도 받습니다 bash. PROMPT_DIRTRIM설정되지 않았다고 가정해 보겠습니다 .

프롬프트 문자열은 다음 위치에 있습니다 bash.

PS1='\[\e[0;31m\]\$ \[\e[0;32m\]\w\[\e[0m\] : '

프롬프트 문자열 zsh(색상 없음):

PS1='%# %~ : '

이 프롬프트는 #루트 쉘에는 표시되지만 %루트가 아닌 쉘에는 표시되지 않습니다. 루트가 아닌 쉘에서 대신 사용하려면 $대신 사용하십시오. 프롬프트는 현재 작업 디렉토리를 포함하는 데 사용됩니다. 숫자를 추가하면 의 설정과 동일한 효과를 얻을 수 있습니다. 여기에는 현재 작업 디렉토리의 디렉토리 경로 중 최대 두 개의 경로 이름 구성 요소가 포함됩니다.%%(!.#.$)%#%~%PROMPT_DIRTRIMbash%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

답변2

이들 중 대부분은 .zprofile.

지침에 따라 색상을 설정할 수 있습니다여기, 예를 들어:

%B{red}%F{blue}$%f%b 

파란색 달러 기호를 만듭니다.

관련 정보