如果下面的sed命令失败,我想要失败的原因,即错误输出也应作为电子邮件的一部分添加。怎么做?
代码是:
sed -e abc.txt > /net/abc.com/test/abc.txt
#Sending email
if [ -f /net/abc.com/test/abc.txt ]; then
echo "content of abc.txt saved to server" | mail -s "Content of abc" dave@klm.com
else
echo "File does not exist"
fi
在“文件不存在”之后,应附加sed失败的原因。
答案 0 :(得分:3)
sed
命令将其错误发送到(令人惊讶的是)标准错误。所以你可以抓住它并特别对待它,按照下面的记录:
pax> echo hello | sed 's/missing/terminator' >outfile 2>errfile
pax> cat outfile
pax> cat errfile
sed: -e expression #1, char 20: unterminated `s' command