xargs:複数のコマンドで同じ引数を使用します。

xargs:複数のコマンドで同じ引数を使用します。

df -hパーティションの1つの出力を調べて、パーティションの1つにスペースが[またはほぼ]不足しているときに警告を発する可能性がある1行コードを作成しようとしています。今私を怒らせるのはxargsを使う部分です...

echo 95 | xargs -n1 -I{} [ {} -ge 95 ] && echo "No Space on disk {}% full -- remove old backups please"

2番目の{}にも「95」が表示されるようにするにはどうすればよいですか?

ベストアンサー1

これはコマンドの一部&&ではなく、完全に別々の呼び出しです。xargs私の考えでは、明示的にシェルを実行したいと思います。

echo 95 | xargs -I_percent sh -c '[ "$1" -ge 95 ] && echo "No Space on disk $1% full -- remove old backups please"' sh _percent

また、シェルの追加の引用の問題を回避するために代わりに_percent使用していることに注意してください。{}これはシェル変数ではありません。それでもxargs代替文字列です。

おすすめ記事