Я практиковал команду эха с опцией \r
(возврат каретки), как показано ниже.
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
Итак, я хотел знать, какова реальная цель возврата каретки здесь?
␣my college
, как и первая.echo -e
общеизвестно непортативный. Вы должны, вероятно, использоватьprintf
вместо этого.Ответы:
Это
\r
просто «возврат кареты» - больше ничего. Это означает, что после того, как\r
будет перезаписано начало того, что уже было напечатано.Например:
Будет отображать:
echo
напечатал,1234
затем вернулся в начало строки и напечатал56
поверх12
.Для новой строки попробуйте
\n
вместо этого. Нет необходимости в местах тоже. Например:Который будет выводить:
Возврат каретки полезен для таких вещей:
Который будет отображаться
date
поверх самого себя, а не создавать новую строку после каждого цикла.источник
echo_success
из/etc/init.d/functions
.