.zshrc 提示符配置中嵌套三元表达式的使用

Use of nested ternary expression in .zshrc prompt configuration

我的 RPS1 表达式有什么问题

RPS1='%(t.[Ding!].%(t30.[Dong!].[%T]))'

解释:

如果是上午 11 点,我想得到 [Ding!],如果是 11:30am,我想得到 [Dong!],如果两者都不是 true,就只是正常时间,比如 [11:33]。但是怎么了?

坦克

三元表达式的数值参数需要在左括号之前或之后(参见 ZSH 手册中的 the section on Conditional Substrings in Prompts)。所以其中任何一个都可以工作:

RPS1='%(t.[Ding!].%30(t.[Dong!].[%T]))'
RPS1='%(t.[Ding!].%(30t.[Dong!].[%T]))'