${ (%):-%n} 是什么意思?

What ${ (%):-%n} means?

我不知道“${ (%):-%n}”是什么意思。

${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh

echo ${(%):-%n}的输出是我的用户名。

输出:

(%) 是参数扩展标志,特别是导致参数值中的提示转义序列被扩展的标志。例如,

% x="%n"
% echo $x
%n
% echo ${(%)x}
pi

没有参数名称的 :- 运算符导致以下文本被视为扩展值:

% echo ${:-%n}
%n

将它们放在一起,您将得到一个扩展为您当前用户名的表达式。字符串%n是参数展开的结果,同样进行提示展开。

% echo ${(%):-%n}
pi