私の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
は別の問題です。パイプを介して書き込むと、データがラインバッファリングされず、sleep
がそれを明らかにするように機能します。