linux迭代目录中的文件

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

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 

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

 for d in "$input"/* 

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

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