假设有一个名为
假设我希望使用while循环遍历每一行。
file
的文件,其中包含多行内容。$ cat file
foo
bar
baz
假设我希望使用while循环遍历每一行。
$ while IFS= read -r line; do
$ echo $line
$ # do stuff
$ done < file
foo
bar
baz
最后,请假设我希望传递存储在变量中的行,而不是存储在文件中的行。如何循环遍历保存为变量的行,而不收到以下错误?
$ MY_VAR=$(cat file)
$ while IFS= read -r line; do
$ echo $line
$ # do stuff
$ done < $(echo "$MY_VAR")
bash: $(echo "$MY_VAR"): ambiguous redirect
echo $line
不等同于echo "$line"
。请参见BashPitfalls#14。 - Charles Duffy