Bash通过通配符和隐藏文件循环

只是一个简单的shell脚本,很困惑:

这是我的脚本:

% for f in $FILES; do echo "Processing $f file.."; done

命令:

ls -la | grep bash

生产:

% ls -a | grep bash
.bash_from_cshrc
.bash_history
.bash_profile
.bashrc

什么时候

FILES=".bash*"

我得到与ls -a相同的结果(不同的格式).但是什么时候

FILES="*bash*"

我得到这个输出

Processing *bash* file..

这不是预期的产出,而不是我的期望.我不允许在文件名的开头有一张通配符?是个 .在开头的文件名称“特殊”不知何故?

设置

FILES="bash*"

也不行

FILES =“.bash *”的作品是因为隐藏的文件名以a开头.

FILES =“bash *”不起作用,因为隐藏的文件名以a开头.不是b

FILES =“* bash *”不起作用,因为字符串开头的*通配符会忽略隐藏的文件.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...