Перевод каретки в linux

Carriage return with echo command

This is not reproducible. The second command results in the output ␣my college , just like the first one.

2 Answers 2

The \r is just that, a «carriage return» — nothing else. This means what is after the \r will overwrite the beginning of what has already been printed.

echo has printed 1234 then gone back to the begining of the line and printed 56 over the top of 12 .

For a new line, try \n instead. No need for spaces too. For example:

echo -e "This is\nmy college" 

The carriage return is useful for things like this:

#!/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 

Which will display date over the top of itself instead of creating a new line after each loop.

carriage return is also used in the sysvinit provided functions. For example the function echo_success from /etc/init.d/functions .

Tigger has a good answer about what the \r does. One other trick for the Bourne shell (which works in different ways in other shells) is to clear the end of the line like so:

#/bin/sh -e echo "this is a first line. \r\c" . other code. echo "another line\033[K\r\c" 

With the \033[K (kill the end of the line), you would get:

With the \033[K the output from the cursor position to the end of the line is cleared so the result of the above is:

This is practical for scripts that take a long time and you want to let the user know where you’re at (i.e. maybe a path you’re script is working on and the next path is shorter).

Note: As a side note, I’d like to specify that the \n is what sends your cursor to the next line. In the old MS-DOS, it just goes one line down, same column. This is why under MS-Windows you are still expected to write both characters ( \r\n ). Although in most cases people just write \n and things work as expected because the FILE has a «text mode» which inserts a \r before each \n (and also mangles binary files every so often. ).

Читайте также:  Dr web linux фстэк

Источник

Linux. Команда echo

Команда echo — это не системная утилита, у нее нет исполняемого файла. Она существует только внутри интерпретатора bash. Синтаксис команды очень прост:

  • -n — не выводить перевод строки;
  • -e — включить поддержку escape-последовательностей;
  • -E — отключить поддержку escape-последовательностей (по умолчанияю).

Если включена опция -e , то можно использовать escape-последовательности:

  • \c — удалить перевод строки;
  • \t — горизонтальная табуляция;
  • \v — вертикальная табуляция;
  • \b — удалить предыдущий символ;
  • \n — перевод строки;
  • \r — возврат каретки в начало строки.

Примеры использования

Простой вывод строки на экран:

$ echo 'Linux Open Source Software Technologies'

Можно вывести значение переменной:

$ export BLOG='tokmakov.msk.ru' $ echo "Мой блог $BLOG"

Escaspe-последовательность \n переводит курсор на новую строку:

$ echo -e "Linux\nOpen\nSource\nSoftware\nTechnologies" Linux Open Source Software Technologies

С помощью последовательности \r можно удалить все символы до начала строки:

$ echo -e "Linux \rOpen Source Software Technologies" Open Source Software Technologies

Последовательность \c позволяет убрать перевод на новую строку:

$ echo -e "Linux Open Source Software Technologies\c"

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • 1С:Предприятие (31)
  • API (29)
  • Bash (43)
  • CLI (99)
  • CMS (139)
  • CSS (50)
  • Frontend (75)
  • HTML (66)
  • JavaScript (150)
  • Laravel (72)
  • Linux (143)
  • MySQL (76)
  • PHP (125)
  • React.js (66)
  • SSH (27)
  • Ubuntu (66)
  • Web-разработка (509)
  • WordPress (73)
  • Yii2 (69)
  • БазаДанных (95)
  • Битрикс (66)
  • Блог (29)
  • Верстка (43)
  • ИнтернетМагаз… (84)
  • КаталогТоваров (87)
  • Класс (30)
  • Клиент (27)
  • Ключ (28)
  • Команда (68)
  • Компонент (60)
  • Конфигурация (59)
  • Корзина (32)
  • ЛокальнаяСеть (28)
  • Модуль (34)
  • Навигация (31)
  • Настройка (137)
  • ПанельУправле… (29)
  • Плагин (33)
  • Пользователь (26)
  • Практика (99)
  • Сервер (74)
  • Событие (27)
  • Теория (104)
  • Установка (65)
  • Файл (47)
  • Форма (58)
  • Фреймворк (192)
  • Функция (36)
  • ШаблонСайта (68)
Читайте также:  Векторный графический редактор linux

Источник

Команда echo в Linux

Команда echo — это очень простая и в то же время часто используемая встроенная команда оболочки Bash. Она имеет только одно назначение — выводить строку текста в терминал, но применяется очень часто в различных скриптах, программах, и даже для редактирования конфигурационных файлов.

В этой статье мы рассмотрим что представляет из себя команда echo linux, как ее можно использовать и в каких ситуациях. Но сначала рассмотрим синтаксис самой команды.

Команда echo linux

Команда echo — это не системная утилита, у нее нет исполняемого файла. Она существует только внутри интерпретатора Bash. Синтаксис команды echo linux очень прост:

$ echo опции строка

Опций всего несколько, давайте рассмотрим их, чтобы вы могли лучше ориентироваться в работе утилиты:

  • -n — не выводить перевод строки;
  • -e — включить поддержку вывода Escape последовательностей;
  • -E — отключить интерпретацию Escape последовательностей.

Это все опции, если включена опция -e, то вы можете использовать такие Escape последовательности для вставки специальных символов:

  • /c — удалить перевод строки;
  • /t — горизонтальная табуляция;
  • /v — вертикальная табуляция;
  • /b — удалить предыдущий символ;
  • /n — перевод строки;
  • /r — символ возврата каретки в начало строки.

Пожалуй, это все, что нужно знать о команде echo, а теперь давайте рассмотрим как с ней работать.

Примеры работы echo

Давайте рассмотрим как пользоваться echo. Сначала просто выведем строку на экран:

echo Linux Open Source Software Technologies

Также можно вывести значение переменной. Сначала объявим переменную:

Затем выведем ее значение:

Как уже говорилось, с помощью опции -e можно включить интерпретацию специальных последовательностей. Последовательность \b позволяет удалить предыдущий символ. Например, удалим все пробелы из строки:

Читайте также:  Где хранятся пароли mysql linux

echo -e «Linux \bopen \bsource \bsoftware \btechnologies»

Последовательность \n переводит курсор на новую строку:

echo -e «Linux \nopen \nsource \nsoftware \ntechnologies»

С помощью \t вы можете добавить горизонтальные табуляции:

echo -e «Linux \topen \tsource \tsoftware \ttechnologies»

Можно совместить переводы строки и табуляции:

echo -e «Linux \tnopen \tnsource \tnsoftware \tntechnologies»

Точно так же можно применить вертикальную табуляцию:

echo -e «Linux \vopen \vsource \vsoftware \vtechnologies»

С помощью последовательности \r можно удалить все символы до начала строки:

echo -e «Linux \ropen source software technologies»

Последовательность -c позволяет убрать перевод на новую строку в конце сообщения:

echo -e «Linux open source software technologies\c»

Дальше — больше. Вы можете разукрасить вывод echo с помощью последовательностей управления цветом Bash. Для доступны такие цвета текста:

Например. раскрасим нашу надпись в разные цвета:

echo -e «\033[35mLinux \033[34mopen \033[32msource \033[33msoftware \033[31mtechnologies\033[0m»

С основными параметрами команды echo разобрались, теперь рассмотрим еще некоторые специальные символы bash. Вы можете вывести содержимое текущей папки просто подставив символ *:

Также можно вывести файлы определенного расширения:

Я уже говорил, что echo можно использовать для редактирования конфигурационных файлов. Вы можете использовать запись echo в файл linux, если он пуст:

echo 1 > /proc/sys/net/ipv4/ip_forward

Если файл не пуст, и вам необходимо добавить свою строчку в конец файла используйте символ перенаправления вывода >>:

echo «UUID=09ec0871-2f55-4dd5-aeb2-cacc4a67907c /var/tmp btrfs subvol=@/var/tmp 0 0» >> /etc/fstab

Если строка содержит какие-либо специальные символы или может быть понята интерпретатором неоднозначно, следует заключить ее в кавычки.

Выводы

В этой статье была рассмотрена команда echo linux. Несмотря на свою простоту, она может применяться для решения различных задач и незаменима при написании простых скриптов. Надеюсь, эта информация была вам полезной.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector