linux迭代目录中的文件

时间:2009-11-14 01:04:54

标签: linux bash scripting iteration

我正在尝试遍历目录中的每个文件。到目前为止,这是我的代码。

while read inputline
do
  input="$inputline"
  echo "you entered $input";

if [ -d "${input}" ]
  then
    echo "Good Job, it's a directory!"

    for d in $input
      do
        echo "This is $d in directory."
      done
   exit

我的输出总是只有一行

this is $input directory.

为什么这段代码不起作用?我做错了什么?

冷却。当我回声它打印出来

$input/file

为什么这样做?它不应该打印出没有目录前缀的文件吗?

2 个答案:

答案 0 :(得分:7)

for d in "$input"/*

答案 1 :(得分:4)

如果你想稍微简化它并摆脱目录检查,你可以写它来处理文件和目录,可能是这样的:

read inputline
ls "$inputline" | while read f; do
    echo Found "$f"
done