문서: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
).