저는 zsh 쉘을 사용하고 매개변수는 %1~
프롬프트 안에 있습니다. 디스플레이가 더 이상 /home/username
표시 되지 ~
않고 /home/username/Desktop
로만 변경됩니다 Desktop
.
프롬프트 표시 경로의 길이는 ~
1자에 불과하지만 /home/username
14자가 필요하므로 프로그래밍 방식으로 가져와야 합니다. 일을 너무 복잡하게 만들지 않고 이를 수행할 수 있는 방법이 있습니까?
답변1
프롬프트 외부에서 프롬프트 확장을 수행하려면 다음이 있습니다.
print -rP %1~
또는:
print -rPv expanded %1~
확장 변수에 저장됩니다.
또는 %
매개변수 확장 플래그를 사용하십시오.
var=%1~
print -r -- ${(%)var}
또는 변수에 저장합니다.
expanded=${(%)var}
문자 길이를 얻으려면 다음을 수행하십시오.
length=${#${(%)var}}
그러나 색상/굵게/기울임꼴... 지시문이 있는 경우 길이에는 색상 이스케이프 시퀀스의 문자 수도 포함되며 확장 표시 너비 힌트를 얻을 수 없습니다.