while read FILE;
do
echo "$FILE"
done
相当琐碎的代码…但我不知道是什么把它搞砸了……我看了所有地方,这似乎是正确的…
添加了引语但没有运气-
我正在尝试读取目录中的每个文件-尝试在第一行末尾添加"in $*;",但没有成功
那么是否有一种方法可以遍历所有文件并通过管道读取每个文件?
好的,有没有一种方法可以让它只迭代文件而不是目录?
它不会结冰。它只是等待输入。这就是read FILE
应该做的:从标准输入(=终端,除非有重定向)读取一行,并将其存储在FILE
变量中。
顺便说一句,有一个额外的分号你可能想要删除;或者你是想写
while read FILE; do
echo $FILE
done
如果要遍历目录中的每个文件,请使用
for file in *; do
echo "<$file>"
done
如果你想遍历给你脚本的参数,使用
for arg in "$@"; do
echo "<$arg>"
done
您应该使用echo "$FILE"而不是echo $FILE。请记住$FILE的内容将替换变量,然后执行命令。
例如:
echo $FILE
,但文件的值是hello; shutdown
,你可能会在一个世界的伤害。:)