catを実行すると、エンコードが変更されます。

catを実行すると、エンコードが変更されます。

いくつかのファイルを実行した後、cat␌⎺└⎻⎼␊⎽⎽␊␍├█⎼°␋┌␊という悪名高い「ブッシュ」を手に入れました。 B␊├├␊⎼ ┤⎽␊ ├█⎼'⎽ ≥エンコーディングが変更された結果だと思います。エンコードの変更後に端末を復元する方法はありますか?

答え1

ランニングreset。マニュアルページから:

リセットで呼び出されると、tset は Cooked モードと echo モードを設定し、cbreak モードと raw モードをオフにし、改行変換をオンにし、上記のターミナル初期化を実行する前に未設定の特殊文字をデフォルト値にリセットします。これは、プログラムが終了して端末が異常な状態にあるときに便利です。

答え2

tput sgr0、、、tput rmacsまたはtput resetreset一般的に、必ずしもそうではありませんがtput reset。 (すべての特殊出力モードをオフにし、常に含まれるわけではありませんが、通常含まれる代替文字セットをオフにし、通常はこれらの操作などをsgr0実行する端末リセット文字列を送信します。)

tput sgr0最初に挿入すると便利です$PS1

関連情報