현재 디렉토리와 상위 디렉토리만 표시하는 bash 및 zsh 프롬프트를 만드는 방법은 무엇입니까?
예를 들어, 내가 dir 에 있다면 다음과 같이 ~/pictures/photos/2021
표시되어야 합니다.
[photos/2021]$ echo hi
그게 다야. bash
을 위해 그것을 원합니다 zsh
.
답변1
존재하다 zsh
:
PS1='[%2d] $ '
바라보다info zsh 'prompt expansion'
더 알아보기.
bash
(또는 에서 zsh -o promptsubst
이를 수행하고 싶지는 않지만 문자를 $PWD
포함하는 것처럼 %
추가 프롬프트 확장으로 이어질 수 있습니다):
PS1='[${PWD#"${PWD%/*/*}/"}] $ '
답변2
더 읽기 쉬운 또 다른 옵션은 다음과 같습니다.
PS1='[$(basename $(dirname "$PWD"))/$(basename "$PWD")]'
이는 또한 유사한 디렉터리 작업을 보다 일반적으로 수행하는 방법을 보여줍니다.