ダイアログボックスのカール進行

ダイアログボックスのカール進行

ダイアログウィンドウにカールの進行状況を正しく表示するには?

curl http://mysite.corp/image/root_21.tar.bz2 | tar -C /mnt/dest/ -jxf -

ここに画像の説明を入力してください。

このコマンドを試しましたが、ご覧のように正しく表示されません。

curl -f -x '' -L http://mysite.corp/image/root_21.tar.bz2 | tar -C /mnt/dest -xjpf - --exclude='dev/*' | dialog --backtitle "dialog" --stderr --title 'Linux Image' --textbox /tmp/log 30 80

ここに画像の説明を入力してください。

このコマンドは私にはほとんど効果がありましたが、各行に新しい行の進行状況を表示するのではなく、独自に上書きしたいと思います。デフォルトでは、元のコマンドの表示と同じですが、ダイアログボックスに表示したいと思います。

(curl -f -x '' -L http://mysite.corp/image/root_21.tar.bz2  | tar -C /mnt/dest -xjpf - --exclude='dev/*' ) 2>&1 | dialog  --progressbox 20 120

ここに画像の説明を入力してください。

ベストアンサー1

--progressbox次のダイアログボックスオプションを使用できます。

(curl ... | tar ... ) 2>&1 | dialog --progressbox 30 120

2>&1curlとのstderr出力をtar標準入力にリダイレクトします。つまり、パイプをdialog

行の書き換え(制御文字:CR '\ r'(キャリッジリターン))はサポートされていないため、追加の行dialogから各進行の変更を取得します。

おすすめ記事