Zsh: 프롬프트에서 조건부 if/then

Zsh: 프롬프트에서 조건부 if/then

문서:http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html

이 사용 사례에서는 작동하지 않는 것 같습니다.

사용 사례: localhost호스트 이름이 포함된 경우 프롬프트에서 호스트 이름을 제거하고, 포함되지 않은 경우 호스트 이름을 제거합니다. 예:

(check %m contains 'localhost' then result empty, if not the use %m in prompt)

답변1

%m$HOST값으로 확장됩니다(시작 시 호스트 이름에서 초기화됨).

따라서 다음을 사용할 수 있습니다.

set -o promptsubst
PS1='${HOST##*localhost*}'

또는 $HOST일반적으로 변경되지 않으며(호스트 이름이 변경되더라도 변경되지 않음) %문자가 포함되어 있지 않다고 가정합니다.

PS1="${HOST##*localhost*}"

(에서 확장하세요 ~/.zshrc).

관련 정보