在我的终端上:
$ print -P "%%"
%宇宙飞船提示函数中的等效代码:
spaceship_extension() {
unset PROMPT_PERCENT
unset PROMPT_SUBST
print -P "00%%\n"
set PROMPT_PERCENT
unset PROMPT_SUBST
print -P "01%%\n"
unset PROMPT_PERCENT
set PROMPT_SUBST
print -P "10%%\n"
set PROMPT_PERCENT
set PROMPT_SUBST
print -P "11%%\n"
}输出:
00
01
10
11根据快速展开手册页,这些是唯一相关的环境变量。有人知道这是怎么回事吗?
编辑:删除了环境变量的设置和重置的exports。
发布于 2022-03-26 17:03:48
第一个问题是,export对这两个选项都没有影响;在每种情况下,您只是在一组名称上设置导出属性。
第二,set和unset操作名称,而不是shell选项。你想要setopt和unsetopt。
% setopt PROMPT_PERCENT
% print -P '00%%\n'
00%
% unsetopt PROMPT_PERCENT
% print -P '00%%\n'
00%%(实际上,取消设置PROMPT_PERCENT可能会影响您的实际提示符;我在这里使用%作为提示符的占位符,而不是取消设置选项后提示符的准确表示。)
https://stackoverflow.com/questions/71629986
复制相似问题