从shell脚本中的目录获取文件名

时间:2015-03-21 05:45:29

标签: linux shell unix

我想使用shell脚本遍历目录中存在的所有文件。此外,我想显示每个文件的内容。我将目录作为命令行参数传递。

我有一个简单的循环如下:

for file in $1
do
    cat $file
done

如果我跑

sh script.sh test

其中test是一个目录,我只得到第一个文件的内容。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

尝试类似:

 for file in $1/*
 do
     if [[ -f $file ]] ##you could add -r to check if you have read permission for file or not
     then
         cat $file
     fi
 done

答案 1 :(得分:1)

几种替代方案:

紧凑修改SMA的代码:

for file in $1/*
 do
      [[ -f $file ]] && cat $file
 done

或使用find:

find $1 -type f -exec cat \{\} \;