为什么for循环中的文件命令表现得如此荒谬

时间:2015-11-05 15:26:35

标签: linux bash shell for-loop echo

#!/bin/sh

file_list=`find . -type f`

IFS=$(echo) #this enables for loop to break on newline
for file_ in $file_list; do
  file $file_
done

这个shell脚本会惊人地报告(File name too long)。我想该脚本会file提供3次$file_list !!!

但是如果我用简单的file更改echo命令,那么脚本将逐行打印当前目录中的所有文件。

1 个答案:

答案 0 :(得分:0)

迭代find的结果不是一个好主意。请改用exec选项:

find -type f -exec file {} \;