我经常发现打字很烦人(甚至更糟)
command .*
在 bash 中,命令适用于父目录和当前目录。是否有一些 shell 选项或其他配置可以调整,以使 bash从 的扩展中排除.
和?..
.*
答案1
在 bash 中,按以下顺序:
GLOBIGNORE=.
shopt -u dotglob
当设置了 GLOBIGNORE 时,. 和 .. 会被自动忽略,因此您实际上不需要在 GLOBIGNORE 中设置它们,但如果您没有其他要忽略的内容,那么您就无法将其设置为任何东西。
每次将 GLOBIGNORE 设置为非空值时,bash 都会打开选项dotglob
,因此您之后需要将其关闭;否则 bash 将扩展*
为包含以点开头的文件。
答案2
在陌生的系统上,我没有太多时间检查正在使用的设置(例如 GLOBIGNORE),我使用以下万无一失的模式:
command .??*
- 快速输入并保证排除
.
,..
无论环境如何。