\bの最後にバックスペースを使用しないのはなぜですか?

\bの最後にバックスペースを使用しないのはなぜですか?

CentOS では、以下を使用します。

[root@localhost sbin]# echo -e "ab\bc"
ac

\bバックスペースキーを表します。

しかし、私が使用するとき:

[root@localhost sbin]# echo -e "abc\b"
abc

印刷されているのにabcなぜバックスペースではないのですか?

ベストアンサー1

バックスペースキー自体は破壊的ではありませんが、ほとんどのエディタ(コマンドラインを含む)はそれを表示します。実際に何が起こるのかは、これらのプログラムが対話するときにカーソルをバックアップしてから空白を書き、再度バックアップしてカーソルを正しく配置することです。

したがって、あなたの行はおそらくecho -e "abc\b \b"動作します。

次のようにしてこれをテストできますecho -n -e "abc\b"(-nは次の行への自動ジャンプを削除します)。これで、プロンプトに「c」が含まれます。

\nこれは、「次の行に移動(マージンではない)を意味する」および「マージンに移動(次の行ではない\r)を意味する」と多少似ています。オペレーティングシステムはこれらの文字を別々に解釈します(Unixは\ nに次の行を追加し、DOSには両方の文字があるなど)。

おすすめ記事