while read FILE;
do
echo "$FILE"
done
相当琐碎的代码...但我不知道什么可能弄乱它......我到处都看这似乎是正确的......
添加了引文但没有运气 -
我正在尝试读取目录中的每个文件 - 尝试添加“in $ *;”没有运气的第一行结束
那么有没有办法迭代所有文件并管道每个文件来读取?
好的,有没有办法让它遍历ONLY文件而不是目录?
答案 0 :(得分:1)
嗯,它没有冻结。它只是等待输入。这就是read FILE
应该做的事情:从标准输入读取一行(=终端,除非存在重定向)并将其存储在FILE
变量中。
while read FILE; do
echo $FILE
done
如果您想迭代目录中的每个文件,请使用
for file in *; do
echo "<$file>"
done
如果您想迭代给脚本的参数,请使用
for arg in "$@"; do
echo "<$arg>"
done
答案 1 :(得分:0)
您可能应该使用echo“$ FILE”而不是echo $ FILE。请记住,$ FILE的内容将替换变量,然后执行命令。
例如,如果你刚才:
echo $FILE
但是文件的值是hello; shutdown
,你可能会受到伤害。 :)