読み取り入力に長い文字列を入力すると、予期せず色が表示されるのはなぜですか? [コピー]

読み取り入力に長い文字列を入力すると、予期せず色が表示されるのはなぜですか? [コピー]

非常に長い文字列を入力すると、カラー読み取り入力の先頭にカーソルを移動できないようです。以下のgifはこれを正確に示しています。カーソルはそのままで、左に移動できなくなります。

ここに画像の説明を入力してください。

ただし、読み込み入力から色を省略すると、これは発生しません。

ここに画像の説明を入力してください。

これは私が知らない「機能」ですか?私のスクリプトは色の入力を読むことに頼っているので、これは私を悩ませます。とにかくこの問題を解決する方法はありますか?

詳細については、コマンドを使用してください。

read -ep $'\e[31mFoobar\e[0m: ' foo # Colored
read -ep "Foobar: " foo # Not colored

関連がある場合は、私のbashバージョンもあります。

bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

ベストアンサー1

おすすめ記事