3

Prezto文档有以下用于设置符号链接的示例脚本

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

我明白一切,"${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N)直到(.N)。这里是什么(.N)意思?

奖金问题,什么是${rcfile:t}?我知道它解析为的名称,rcfile但我不知道:t它的用途。

4

2 回答 2

4

下面的文章否认或否定(.N)所有'^'以 README.md开头的内容^README.md(.N)

符号是一个正则表达式,^表示某事的开始。

${rcfile:t}部分只允许名称剥离字符串的目录名称。因此,循环将为您的zpresto目录的每个配置文件创建所需的符号链接。

于 2015-04-25T23:49:05.583 回答
2

glob(实际上是扩展glob)^README.md(.N)扩展到除 README.md 之外的所有文件 ,或返回null(空字符串)。

扩展:setopt行设置。需要^(见下文)。

文件:中的(.N)代表文件(不是目录或链接)。

除了README.md^:. 想想^正则表达式中的括号内。这并不意味着以 README.md 开头的文件。

null:中的N。(.N)如果扩展失败,它表示通配符返回一个空字符串。${ZDOTDIR:-$HOME}"/.zprezto/runcoms/"否则,如果只有README.md文件或根本没有文件,该行将返回错误。

于 2019-06-13T14:46:02.070 回答