全部,感谢您的帮助...这应该很容易:
我的脚本完美地将其打印到标准输出/终端...它在脚本中很漂亮,但不在下面...???? :
# Print to stdout
echo "------- CAPACITY TEST FAILED -------"
echo -n " SYSTEM NAME: " ; uname -n
echo -n " USER DETAIL: " ; whoami
echo " PARTITION: $PART "
echo " USED SPACE: $USEDSPC "
echo " THRESHOLD LIMIT OF $THRESH% EXCEEDED"
echo "------------------------------------"
我已经尝试了许多 mailx 选项/格式,但出现了一些“快乐大餐”……任何帮助都很棒。
请注意,我无法以任何方式、形状或形式更改红帽服务器...坦率地说,他们不希望我在它上面呼吸...我的工作是围绕它编写脚本!1
答案1
如果您将一些标准输出通过管道传输到 mailx 的标准输入中,它会将其作为电子邮件的内容发送
echo "test body" | mailx -s test_subject [email protected]
如果您的脚本只是运行并且仅输出该输出,那么您应该能够通过以下命令获得所需的结果:
/path/to/script | mailx -s subject_here [email protected]
如果这段 bash 只是一个更大脚本的一部分,您可以通过将以上所有行组合成一个大的 echo 来通过电子邮件发送所有这些内容:
echo -e "------- CAPACITY TEST FAILED -------\n SYSTEM NAME: $(uname -n)\n USER DETAIL: $(whoami)\n PARTITION: $PART \n USED SPACE: $USEDSPC \n THRESHOLD LIMIT OF $THRESH% EXCEEDED\n------------------------------------" | mailx -s subject_here [email protected]
答案2
在脚本中,您还可以通过添加“(”“)”来创建子 shell 并通过管道传输其输出:
(echo "------- CAPACITY TEST FAILED -------"
echo -n " SYSTEM NAME: " ; uname -n
echo -n " USER DETAIL: " ; whoami
echo " PARTITION: $PART "
echo " USED SPACE: $USEDSPC "
echo " THRESHOLD LIMIT OF $THRESH% EXCEEDED"
echo "------------------------------------" ) | mailx ...