相关疑难解决方法(0)

bash中globbing的设置是什么,控制*是否匹配点文件

最近当我做了类似的事情mv ./* ../somedirectory 并发现文件.gitignore没有移动时,我感到很惊讶 。

我的大部分工作都是在 OS X 上的 zsh 中完成的,而这个惊喜让我在 CentOS 上的 bash 中感到惊讶。我在 OS X 上尝试了 bash 并发现了相同的行为:*与点文件不匹配。这对我来说似乎很不受欢迎,但显然这是 bash 的默认设置。(这可能也是我记得的所有 zsh 默认值,但我可能在几年前在我的 .zshrc 中更改了它并忘记了它的工作方式不同。)

如何将 bash 配置为按我预期的方式运行:用于 * 匹配所有文件,而不是忽略点文件。

如果这完全不清楚,这里是如何重现它

cd /tmp
mkdir {t,d}est
touch test/{.,}{1,2,3,4,5,6,7}
ls -hal test
mv test/* dest
ls -hal test     # notice dot files are still there
ls -hal dest     # notice only some files were mv'ed
Run Code Online (Sandbox Code Playgroud)

bash wildcards

12
推荐指数
3
解决办法
6649
查看次数

为什么“ls *bash*”不显示 .bashrc 文件

我 cd 到我的主目录并输入

ls *bash*
Run Code Online (Sandbox Code Playgroud)

期望它会显示包含“bash”的文件列表。然而事实并非如此。

同时,键入

ls .bash*
Run Code Online (Sandbox Code Playgroud)

作品。

根据文档,*代表任何字符,对吗?但.在这种情况下,它似乎并不代表。怎么了?

linux bash wildcards

0
推荐指数
1
解决办法
2034
查看次数

标签 统计

bash ×2

wildcards ×2

linux ×1