私は無限ループにこのコードを持っている:「読み取り」を使用しているときに、Bashでユーザー入力をクリアするにはどうすればよいですか?
read -a output
echo ${output[@]}
コードが画面は次のようになります実行すると:
Hello, World # line where value was given to output (I want this gone)
Hello, World # echoed output
[] # <-- cursor waiting for next input
は、ユーザーが値を入力ラインをクリアする方法はあります?同様に、それを完全に取り除くのと同じように(空白に行を変更するだけでなく、希望の出力にギャップを残すことになります)?
優れています。あなたダ男! – Jonathan
@Jonathan: 'dl1'(行の削除)の代わりに' el'(行の最後まで消去)を使う方が良いでしょう。後者はその行の下のテキストを上にスクロールさせるからです。また、コマンド置換を使って 'tput'の出力を'エコー 'する必要はありません。 'tput cuu1; tput cr; tput el; echo baz123'( 'cr'はあなたが行頭に来ることを保証します) –
ありがとう、Dennis。 dl1メソッドは、ログファイルにリダイレクトした後に、テキストの前に不要な文字を残しました。あなたのやり方は魅力のように機能します。 – Jonathan