- ベストアンサー
dfコマンドを使ったシェル
いつもお世話になっております。 今回は、dfコマンドを使用した制御について質問です。 dfコマンドにて調べたい領域のcapacityが90%以上なら処理を実施し、90%以下になるまで繰り返すというものを作りたいのですが、何かいい意見は御座いますでしょうか? 例: df -k /temp if (capactiy>90%)then 圧縮処理 eles 終了 endif 以上の処理を90以下になるまで繰り返す。 恐縮ですが、ご教授お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょう。 CAPACITY=`df -k /temp | awk '{if ( $6 == "/temp" ) print $5}' | sed 's/%//'` while { "${CAPACITY}" -gt 90 } do 圧縮処理 CAPACITY=`df -k /temp | awk '{if ( $6 == "/temp" ) print $5}' | sed 's/%//'` done 圧縮処理しても90%を切らない場合のことも考えたほうがいいですね・・・
その他の回答 (1)
- galoon
- ベストアンサー率28% (38/133)
df コマンドと read コマンドを組み合わせたらいかがでしょうか? df の出力も制御する必要がありますので tail コマンドも必要かも。 例) df -k /tmp | tail -1 | read env1 env2 env3 env4 env5 ... echo $env1 echo $env2 echo $env3 echo $env4 echo $env5 ※出力だけのサンプルです。 各コマンドは man コマンドを参照してください。(書ききれない ^^; )
お礼
参考になりました。 ありがとう御座います。
お礼
大変参考になりました。 ようやくシェルが完成しました。 ありがとう御座います。