人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のようなシェルで簡単にメール報告するものを作っていますが、
$tmpという一時ファイルを生成してしまうことが不満です。
一時ファイルを生成せずに、同じことをやる方法を教えてください。

#!/bin/sh
tmp=/path/to/tmp.txt
cd /target
for i in `ls`; do du -hs $i; done > $tmp
df -h >> $tmp
cat $tmp | mail -s "disk usage report" foo@bar.com

●質問者: フジカケ
●カテゴリ:コンピュータ
✍キーワード:/bin/sh Bar CD DF HS
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● しおり
●35ポイント

単純にパイプでつなげば良いのでは。

#!/bin/sh
cd /target
(for i in `ls`; do du -hs $i; done; df -h) | mail -s "disk usage report" foo@bar.com

# ダミー: http://q.hatena.ne.jp/1203562403

◎質問者からの返答

ありがとうございます。


2 ● b-wind
●35ポイント
#!/bin/sh
cd /target
( for i in `ls`; do du -hs $i; done ; df -h ) | mail -s "disk usage report" foo@bar.com

Manpage of BASH

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ