只需知晓一个简单的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*"
也不起作用。
正如下面的号说,你可能想使用一个bash标志修改行为。 (shopt -s dotglob) – 2010-01-26 16:36:51