入力を開始すると、長時間生成されたBashプロンプトが正しく表示されません。

入力を開始すると、長時間生成されたBashプロンプトが正しく表示されません。

計算に時間がかかるGit作業ツリーの状態が含まれているため、生成に時間がかかるBashプロンプトがあります。時には、コマンドが表示される前にコマンドを入力し始めましたが、コマンドが誤って折り返されることがあります。

端末で見た内容は次のとおりです。

# I start typing:
some command...

# then the prompt appears:
some command...username [branch*] some/directory $ some command...

# then I type some more, causing the command to wrap:
some command...username [branch*] some/directory $ some command...wra
pping text 1

# and when I continue typing, the text overwrites the second line:
some command...username [branch*] some/directory $ some command...wra
wrapping text 2

これを防ぐ方法を知っていますか?

私のBashプロンプトを設定する方法は次のとおりです。

# in .bashrc:
PROMPT_COMMAND="PS1=\`/home/username/my-prompt.sh\`"

# in /home/username/my-prompt.sh:
$PROMPT=...
$PROMPT+=...
echo -ne $PROMPT

私は$ PROMPTですべての合計を正しく設定したと思います\[\]この問題は、プロンプトが表示され、コマンドがラップされる前に入力を開始した場合にのみ発生します。

ベストアンサー1

プロンプトを生成するときにターミナル出力を無効にすると機能します。

PROMPT_COMMAND="PS1=\$(stty -echo)\`/home/username/my-prompt.sh\`\$(stty echo)"

おすすめ記事