みんな助けてくれてありがとう...これは簡単です。
私のスクリプトはそれをstdout / terminalに完全に印刷します。スクリプトでは美しいですが、以下ではそうではありません...????:
# 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オプション/フォーマットを試しましたが、いくつかの「幸せなごちそう」が表示されます...どんな助けでもいいでしょう。
私はRed Hatサーバーを何らかの形で形や形に変更することはできません。そして正直なところ、彼らは私がそれについて呼吸したくありません。私の仕事はRed Hatサーバーに関するスクリプトを書くことです! 1
答え1
いくつかの標準出力をmailxの標準入力にリンクすると、電子メールの内容に送信されます。
echo "test body" | mailx -s test_subject [email protected]
スクリプトを実行してその出力のみを出力する場合は、次のようにして目的の結果を得ることができます。
/path/to/script | mailx -s subject_here [email protected]
このbashが大きなスクリプトの一部である場合は、上記のすべての行を1つの大きなエコーにまとめて、すべて電子メールで送信できます。
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
スクリプトに "("")" を追加してサブシェルを作成し、その出力をパイプすることもできます。
(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 ...