web-dev-qa-db-ja.com

catを実行した後にエンコーディングが変更されました

いくつかのファイルでcatを実行した後、悪名高い「茂み」が発生します:␌⎺└⎻⎼␊⎽⎽␊␍├▒⎼°␋┌␊。 B␊├├␊⎼┤⎽␊├▒⎼'⎽≥これは、エンコーディングが変更された結果だと思います。エンコーディングが変更された後に端末を回復する方法はありますか?

5
matcheek

resetを実行します。マニュアルページから:

リセットとして呼び出されると、tsetはクックモードとエコーモードを設定し、cbreakモードとrawモードをオフにし、改行変換をオンにし、未設定の特殊文字をデフォルト値にリセットしてから、上記の端末の初期化を行います。これは、プログラムが終了して端末を異常な状態にした後に役立ちます。

12
Michael Mrozek

tput sgr0tput rmacs、またはtput resetresetは通常、常にではありませんが、tput resetよりも完全です。 (すべての特別な出力モードをオフにします。通常はsgr0に含まれますが、常にではありませんが、代替文字セットをオフにします。これらを頻繁に実行する端末リセット文字列を送信します。)

tput sgr0の先頭に$PS1を埋め込むと便利な場合があります。

9
geekosaur