在这篇 Ask Ubuntu 帖子中,我使用 globstar 来定位PATH
未设置的文件:
$ shopt -s globstar; for v in /**/vim; do [[ -x $v && -f $v ]] && echo "$v"; done
/etc/alternatives/vim
/usr/bin/vim
/usr/bin/X11/vim
现在我想起来,那个输出似乎有点奇怪。/usr/bin/X11
是一个符号链接/usr/bin
:
$ readlink /usr/bin/X11
.
所以,那里有 s 的无限递归X11
,但只有第一个出现在输出中。奇怪的是,只是 a/usr/**
根本没有下降X11
:
$ printf "%s\n" /usr/bin/** | grep X11
/usr/bin/X11
如何协调第一个和最后一个输出?
来自评论:
我在 Ubuntu 16.04 上使用 Bash 版本 4.4.18(1)。