Answers:
在bash中,按以下顺序进行:
GLOBIGNORE=.
shopt -u dotglob
设置了GLOBIGNORE后,。和..被自动忽略,因此您实际上不需要在GLOBIGNORE中进行设置,但是如果您没有其他需要忽略的内容,则没有任何设置。
每次将GLOBIGNORE设置为非null值时,bash都会打开该选项dotglob,因此之后需要将其关闭;否则bash将扩展*为包括以点开头的文件。
.和,..但不会忽略foo/.和foo/..。您可能还想使用它GLOBIGNORE=.:*/.:*/..来处理路径名。
在不熟悉的系统上,我没有太多时间检查正在使用的设置(例如GLOBIGNORE),我使用以下简单模式:
command .??*
.和..在任何环境下。.a
dotglob打开电源,所以设置GLOBIGNORE听起来很完美。