`(.N)` 在这个扩展的 glob 中做了什么?
What does `(.N)` do in this extended glob?
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
的用途。
以下文章否认或否定 (.N)
所有以 '^'
开头且 README.md 的内容 ^README.md(.N)
^
符号是一个正则表达式,表示某事的开始。
${rcfile:t}
部分只允许名称剥离字符串的目录名称。
因此,循环将为 zpresto 目录的每个配置文件创建所需的符号链接。
glob(扩展 glob,实际上)^README.md(.N)
扩展到所有文件 除了README.md,或 returns null(空字符串)。
extended: 由 setopt
行设置。 ^
需要(见下文)。
文件: (.N)
中的点代表文件(不是目录也不是链接)。
除了 README.md: ^
。想想正则表达式中方括号内的 ^
。那 不是 意味着以 README.md.
开头的文件
null: (.N)
中的N。如果扩展失败,它表示通配到 return 一个空字符串。否则,如果 ${ZDOTDIR:-$HOME}"/.zprezto/runcoms/"
只有 README.md
文件或根本没有文件,该行将 return 出错。
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
的用途。
以下文章否认或否定 (.N)
所有以 '^'
开头且 README.md 的内容 ^README.md(.N)
^
符号是一个正则表达式,表示某事的开始。
${rcfile:t}
部分只允许名称剥离字符串的目录名称。
因此,循环将为 zpresto 目录的每个配置文件创建所需的符号链接。
glob(扩展 glob,实际上)^README.md(.N)
扩展到所有文件 除了README.md,或 returns null(空字符串)。
extended: 由 setopt
行设置。 ^
需要(见下文)。
文件: (.N)
中的点代表文件(不是目录也不是链接)。
除了 README.md: ^
。想想正则表达式中方括号内的 ^
。那 不是 意味着以 README.md.
null: (.N)
中的N。如果扩展失败,它表示通配到 return 一个空字符串。否则,如果 ${ZDOTDIR:-$HOME}"/.zprezto/runcoms/"
只有 README.md
文件或根本没有文件,该行将 return 出错。