2012-01-24 88 views
0

我正在处理一个项目,我必须处理作为参数传入的目录的内容,并且需要包含不可见文件(以。开头的文件)。这就是我正在接近它Shell脚本处理隐藏文件

#!/bin/bash 

cd $1 
for file in `dir -a -d * `; 
do 
#more code blah blah 

即使我在dir命令上使用-a标记,它仍然忽略不可见的文件。任何想法为什么?

+0

嗨。三件事1)欢迎来到堆栈溢出! 2)当您在问题中粘贴代码时,请突出显示代码,然后按CTRL + K或单击与大括号'{}'似的按钮。 3)请点击加/减计数器旁边的复选框,接受最能解决您问题的答案。对它进行upvoting也不会伤害;)谢谢! – SiegeX

回答

4

只是做:“”

#!/bin/bash 

shopt -s dotglob 
cd "$1" 
for file in *; do 
    # more code blah blah 
done 

bash manpage

当一个图案在 用于文件名扩展,字符的文件名的开头或紧跟在斜杠必须除非设置了shell选项dotglob,否则会显式匹配 。

+0

+1 - 这也很好解释为什么他的尝试不好(分词) – jordanm