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には両方の文字があるなど)。