即使循环指向输出文件,echo 命令也会显示在屏幕上

echo command displays to the screen even though loop directs to output file

我正在尝试获取每个单独行项目的 md5,并将每个 md5 转储到下一个文件 (.md5) 的一行中。下面的脚本将所有内容回显到屏幕上。如何将 echo 输出重定向到 .md5 文件。

more email/test | 
while 
read line; 
md5=`md5sum $line | awk '{ print  }'`
do echo -n $md5; 
done < .md5

使用bash

尝试:

while IFS= read -r line;
do
    md5sum $line | awk '{ print  }'
done <email/test >.md5

使用awk

bash 循环是不必要的:

awk '{ "md5sum " [=11=] | getline; print }' email/test >.md5