【问题标题】:Can someone explain this line of zsh shell code for me please?有人可以为我解释一下这行 zsh shell 代码吗?
【发布时间】:2019-07-06 00:24:51
【问题描述】:

我正在根据这个 zsh 主题 https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/jonathan.zsh-theme 创建一个自定义 zsh 提示符,但我很难破译这行代码...

local promptsize=${#${(%):---(%n@%m:%l)---()--}}

谁能解释一下?

【问题讨论】:

  • zsh Manual - 13 Prompt Expansion (提示:promptsize 只是一个保存提示大小的变量,例如${#.....}${(%....} 是从中获取长度的提示)就个人而言,我喜欢单-line 提示,用户尝试PS1="%F{243}%T %F{27}%m:%~>%f ",root 尝试PS1="%F{243}%T %F{27}%m:%F{1}%~ %F{27}#%f "
  • ${#${(%)PS1}} 不是获取(扩展)提示长度的更简单方法吗?

标签: shell zsh prompt


【解决方案1】:

外部${# ... } 返回其(内部)参数${(%)....} 的长度。 % 修饰符导致以下内容的迅速扩展。因此,:---(%n@%m:%l)---()-- 被解释为提示字符串,promptsize 设置为 扩展 形式的此提示的大小。

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多