Enterおよびechoコマンド

Enterおよびechoコマンド

\r以下のようにオプション(キャリッジリターン)を使用してechoコマンドを練習しています。

echo -e "This is \r my college"

出力:

 my college

\rところで、以下のように前に単語を追加すると

echo -e "This is the \r my college"

これにより、次のような結果が得られます。

 my college the

他の例

echo -e "This is \r valid data"
 valid data

echo -e "This is not a \r valid data"
 valid data a

もしそうなら、ここでキャリッジリターンの実際の目的は何ですか?

ベストアンサー1

それは\r単に「キャリッジリターン」文字であり、他に何もありません。これは、次の内容が\r印刷された内容の先頭を上書きすることを意味します。

たとえば、

echo -e "1234\r56"

以下が表示されます。

5634

echo印刷された次1234の行の先頭に戻り、一番56上に印刷されます12

新しい行を見つけるには、\n代わりに試してください。スペースも必要ありません。たとえば、

echo -e "This is\nmy college"

すると、以下が出力されます。

This is
my college

キャリッジリターン文字は、次の場合に便利です。

#!/bin/sh
i=0
while [ $i -lt 3 ]
do
    echo -ne "\r"`date` #you should remove new line too
    sleep 1
    i=$(($i + 1))
done
exit

date各ループの後に新しい行を作成するのではなく、独自の上部に表示されます。

おすすめ記事