假设我有一个包含目录路径的变量(带有斜杠):
dir="path/to/dir/"
如何"dir"
使用 Zsh 的参数扩展提取最后一个目录(即)?我想避免调用外部程序(如sed
)。
假设我有一个包含目录路径的变量(带有斜杠):
dir="path/to/dir/"
如何"dir"
使用 Zsh 的参数扩展提取最后一个目录(即)?我想避免调用外部程序(如sed
)。
中的参数扩展zsh
可以使用 csh 风格的历史修饰符;在这种情况下,您可以使用:t
t Remove all leading pathname components, leaving the tail. This works like `basename'.
% dir="path/to/dir/"
% print $dir
path/to/dir/
% print $dir:t
dir
在 Zsh 中,您可以嵌套扩展。所以这有效:
$ dir="path/to/dir/"
$ echo "${${dir%/}##*/}"
dir