BASH:将循环输出附加到电子邮件

BASH:将循环输出附加到电子邮件

我希望该脚本的输出是电子邮件正文,但我不想先将其重定向到文件然后再重定向到电子邮件,基本上没有外部登录/输出文件 - 所有操作都应该在脚本本身内完成 - 可以做到吗?

例子:

#!/bin/bash

email() {

        echo "Results:"

}

for i in $(ls -1 test); do

if [ -f "test/$i" ]; then
        echo "'$i' it's a file."
else

        echo "'$i' it's a directory."
fi

done

email | mail -s "Test" [email protected]

输出:

$ ./tmp.sh 
'd1' it's a directory.
'f1' it's a file.

答案1

您只需向下移动}以将 for 循环也括起来,将所有内容放入邮件正文中。

相关内容