了解环境变量/shell 语法

了解环境变量/shell 语法

我只是按照 zsh-autosuggestions 的安装说明进行操作我不明白以下命令的哪一部分正在执行:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • 其作用是什么${ZSH_CUSTOM:- ...}
  • 为什么不直接克隆到~/.oh-my-zsh/...

答案1

如果该变量已设置且不为空,则参数替换${variable:-value}将被替换为,否则将被替换为。这是$variablevalue标准参数扩展

在这种情况下,它允许用户设置ZSH_CUSTOM保存 oh-my-zsh 自定义文件的位置,或者不设置它并使用默认位置~/.oh-my-zsh/custom.

不使用此构造将使定制设置的用户的生活有点尴尬,因为他们必须手动修改命令,或者在安装后将文件移动到正确的位置(并且可能面临预先存在的风险)文件被git clone) 覆盖。

相关内容