2017-09-26 7 views
0

次のコマンドを使用して、サーバーで使用されているディスク領域を取得し、var領域に格納します。 echo "$space"を入力コマンドラインでBASH - メッセージ出力に改行を含める

space=`cd /users/; du -hs * | sort -h;` 

線と正しい出力結果のフィード示します。

私はこれを自分自身にメールしようとしていますが、電子メールは正常に送信されますが、すべての出力はbashプロンプトと同じように1行に表示されます。

これは私のメール本文で、どのように私がspaceを使用しようとしています。

これは機能しますが、出力はコマンドラインから実行したときのように表示されません。

mailbody="$server_name - Server disk usage is at ${current_usage}. ${space}" 

例えば、私は

Test Server - Server disk usage is at 40%. 
1.1G jon 
1.1G paul 
1.9G ringo 

私はそれを行うことができますどのように任意のアイデアを取得したいのですが

Test Server - Server disk usage is at 40%. 1.1G jon 1.1G paul 1.9G ringo 

を取得しますか?

おかげ

+1

あなたは '' $ mailbody "'を引用していますか? –

+0

私は以下を使用します: 'echo $ {mailbody} | mail -s "$ server_name" "$ {mail}" - -f "$ {from}" '私はmailbodyを引用する必要がありますか? – Rocket

+3

@glennjackmanはechoを "echo -e"に変更してくれてありがとうございます$ {mailbody} "はそれを修正したようです – Rocket

答えて

-1

ソリューションです:

space=$`cd /users/; du -hs * | sort -h;` 

$は展開ANSI-Cの標準コードになります。フォームフィードやアラートも機能します。

+0

問題は引用符がありませんでした。おそらく、 '$ '' ... \ ''ではなく '$' ... ''を意味するでしょうか? –

関連する問題