コンソールダイアログのclearコマンド

私のbashスクリプトにはclearコマンドが含まれています。dialogコマンドは奇妙な文字になります。ダイアログにこの出力が表示されなくても、clearコマンドを使用するにはどうすればよいですか?

これは、これを生成する方法の例です。

#!/bin/bash echo "starting..." clear echo "" echo "End" 

次のようなdialogを使用しています:

bash /tmp/1.sh | dialog --progressbox 30 80 

ここに画像の説明を入力

回答

clear の出力を端末にリダイレクトできます。

#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End" 

clearは、標準出力に書き込みます。この出力は、(この方法でリダイレクトされた場合)とは異なる場合があります。スクリプトの標準出力。

コメント

  • 何らかの理由で' sleep 'コマンドもecho 'コマンド間で、ダイアログが完全に歪んでいます。 echoコマンドの間に' sleep 1 'を追加し、それをシミュレートするために表示します。
  • sleepは別の問題です。パイプを介して書き込むと、データがラインバッファリングされず、sleepがそれを明らかにするように機能します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です