Ćwiczyłem polecenie echa z opcją \r
(powrót karetki) jak poniżej.
echo -e "This is \r my college"
wynik:
my college
ale kiedy dodam jeszcze jedno słowo \r
jak poniżej
echo -e "This is the \r my college"
Następnie daje mi dane wyjściowe takie jak:
my college the
Inny przykład
echo -e "This is \r valid data"
valid data
echo -e "This is not a \r valid data"
valid data a
Chciałem więc wiedzieć, jaki jest faktyczny cel powrotu karetki tutaj?
␣my college
, podobnie jak pierwsze.echo -e
jest notorycznie niemożliwy do przeniesienia. Prawdopodobnie powinieneś użyćprintf
zamiast tego.Odpowiedzi:
Po
\r
prostu „powrót karetki” - nic więcej. Oznacza to, co nastąpi po\r
zastąpieniu początku tego, co już zostało wydrukowane.Na przykład:
Wyświetli się:
echo
wydrukował,1234
a następnie wrócił do początku linii i wydrukował56
na górze12
.W przypadku nowej linii spróbuj
\n
zamiast tego. Nie potrzeba też spacji. Na przykład:Co da wynik:
Zwrot karetki jest przydatny w takich przypadkach:
Który wyświetli się
date
nad sobą zamiast tworzyć nową linię po każdej pętli.źródło
echo_success
z/etc/init.d/functions
.