我希望此脚本的输出是电子邮件的正文,但我不想先将其重定向到文件,然后再转发到电子邮件,基本上没有外部登录/输出文件 - 所有操作都应该在脚本本身内完成 - 是否可以这样做?
示例:
#!/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" an@example.com
输出:
$ ./tmp.sh
'd1' it's a directory.
'f1' it's a file.
答案 0 :(得分:1)
很简单:
#!/bin/bash
email() {
echo "Results:"
cat
}
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" an@example.com
您需要将测试的输出作为email
函数的输入,请注意cat
只是让它通过。