Встроенная в оболочку Bash консольная команда echo в linux (от англ. echo — эхо). Выполняет главную задачу: выводит текстовых сообщений или значения переменных на стандартный вывод, который по умолчанию является экраном. В этой статье мы рассмотрим различные аспекты использования.
- Основные функции echo linux
- Синтаксис
- Опции
- Пример использования опции -n в команде echo
- Вывод простых строк
- Как отобразить обратный слэш «\»
- Использование символа возврата каретки (\b) для редактирования текста в командной строке
- Использование отключения дальнейшего вывода текста \c
- Форматирование текста в команде echo с помощью \e
- Разделение текста на страницы с помощью символа перевода формата \f
- Переход на новую строку с помощью управляющей последовательности \n
- Перезапись строки с символом возврата каретки \r
- Создание горизонтальной табуляции для оформления текста с символом \t
- Вертикальное выравнивание текста с помощью символа \v
- Создание и запись в файл с помощью команды echo
- Показать файлы и папки
- Вывод файлов с определенным расширением с помощью команды echo
- Присвоение цветов строке
Основные функции echo linux
- Вывод текста: Основная задача
echo
— это вывод текстовых данных на экран в терминале (командной строке). Вы можете передавать текст как строковые аргументы после командыecho
, и они будут выведены на стандартный вывод. - Вывод переменных. Позволяет выводить значения переменных, которые могут быть полезными в скриптах. Просто поместите переменную внутрь одинарных или двойных кавычек и передайте ее
echo
для вывода. - Управление форматированием: С помощью опции
-e
,echo
может интерпретировать управляющие символы, такие как\n
для перехода на новую строку или\t
для вставки символа табуляции.
Синтаксис
Основной синтаксис команды echo выглядит так:
1 | echo [ОПЦИИ] [ТЕКСТ] |
- [ОПЦИИ] — опциональные флаги, которые изменяют поведение команды.
- [ТЕКСТ] — текст, который вы хотите вывести на стандартный вывод.
Опции
Команда поддерживает следующие опции:
- -n — Предотвращает добавление символа новой строки (\n) в конце выводимого текста. Используется для вывода текста на одной строке без переноса.
- -e — Позволяет интерпретировать управляющие последовательности (escape-последовательности) в тексте. Например, \n будет интерпретироваться как символ новой строки, \t как символ табуляции и так далее.
- -E — Отключает интерпретацию управляющих последовательностей (escape-последовательностей) в тексте.
Эти опции позволяют контролировать формат выводимого текста.
Если опция -e
активирована, echo
будет интерпретировать следующие последовательности управления:
- \\: Символ обратного слеша (\).
- \a: Звуковой сигнал (звонок) — символ сигнала (BEL).
- \b: Возврат на один шаг назад — символ возврата каретки (backspace).
- \c: Отключение дальнейшего вывода текста. После этой последовательности текст будет игнорироваться.
- \e: Символ ESC (escape).
- \f: Переход на новую страницу — символ перевода формата (form feed).
- \n: Новая строка — символ перевода строки (new line).
- \r: Возврат каретки — символ возврата каретки (carriage return).
- \t: Горизонтальная табуляция — символ табуляции (horizontal tab).
- \v: Вертикальная табуляция — символ вертикальной табуляции (vertical tab).
- \0NNN: Символ с заданным восьмеричным значением байта (от 1 до 3 цифр).
- \xHH: Символ с заданным шестнадцатеричным значением байта (от 1 до 2 цифр).
Обратите внимание, что в вашей оболочке может быть собственная версия команды
echo
, которая может переопределить стандартное поведение. Пожалуйста, обратитесь к документации вашей оболочки для получения дополнительной информации о поддерживаемых опциях.
Для вызова подробной справки укажите man echo .
Пример использования опции -n в команде echo
Опция -n
используется для предотвращения автоматического добавления перевода строки (\n
) в конце вывода. Это означает, что текст, переданный echo
, будет выведен без перевода строки в конце, и следующий вывод будет начинаться с того же места в строке. Это может быть полезным, если вам нужно создать более сложный вывод или добавить текст в одной строке.
Пример:
1 | $ echo -n "Этот текст будет выведен без перевода строки." |
В этом примере, благодаря опции -n
, текст «Этот текст будет выведен без перевода строки.» отображается без автоматического перевода строки, и приглашение командной строки ($
) отображается на той же строке после текста.
Вывод простых строк
Команда echo
используется для вывода простых строк текста в командной строке. Пример использования:
1 | $ echo "Привет, мир!" |
Эта команда выведет текст «Привет, мир!» на экране. Вы можете заменить текст внутри кавычек на любую другую строку, которую хотите вывести.
Как отобразить обратный слэш «\»
Для вывода символа обратного слеша (\
) с использованием команды echo
и опции -e
, вы можете использовать двойной обратный слеш (\\
).
Пример:
1 | $ echo -e "Символ обратного слэша \\" |
Здесь опция -e
включает интерпретацию последовательностей обратного слеша, и символ \\
отображается как один символ обратного слеша (\
).
Использование символа возврата каретки (\b) для редактирования текста в командной строке
Символ \b
в команде echo
представляет собой символ возврата каретки (backspace). Он используется для перемещения курсора на один шаг назад, позволяя таким образом перезаписать или удалить предыдущий символ в строке вывода.
Пример:
1 | $ echo -e "Это текстт\b!" |
В этом примере, после слова «текст» символ \b
перемещает курсор назад, и восклицательный знак !
перезаписывает символ перед ним. В итоге стирается лишняя буква «т», чтобы текст был без ошибок.
Использование отключения дальнейшего вывода текста \c
Эта последовательность символов используется для отключения дальнейшего вывода текста \c
. После ее использования текст, следующий за \c, будет игнорироваться, и не отобразится в выводе на экран.
Пример:
1 | $ echo -e "Этот текст будет выведен. \c А этот текст будет проигнорирован." |
В данном примере, после использования \c
, текст «А этот текст будет проигнорирован.» не будет выведен на экран, и вывод завершится после слов «Этот текст будет выведен.».
Форматирование текста в команде echo с помощью \e
Символ \e
в сочетании с опцией -e
команды echo
используется для вставки управляющих последовательностей, которые управляют форматированием текста в выводе. Это может включать изменение стиля текста, перемещение курсора, очистку экрана и другие действия форматирования.
- Изменения стиля текста, такого как жирный (
\e[1m
) или подчёркнутый (\e[4m
). - Перемещения курсора, чтобы выводить текст в определённых позициях на экране (
\e[<row>;<col>H
). - Очистки экрана (
\e[2J
) или строки (\e[K
). - Изменения фона текста (
\e[41m
для красного фона).
Это лишь некоторые примеры возможного использования. Управляющие последовательности могут использоваться для достижения разнообразных эффектов форматирования в текстовой консоли в зависимости от того, какой вывод вы хотите получить.
Пример использования:
1 | $ echo -e "Этот текст будет \e[31mкрасного цвета\e[0m, а этот - обычного." |
В этом примере:
- \e[31m — переключает цвет текста на красный.
- \e[0m — сбрасывает форматирование, чтобы последующий текст не был красным.
Примечание: Для разных терминалов и окружений форматирования могут различаться. Этот пример работает в большинстве терминалов, но для более сложных форматирований могут потребоваться другие управляющие последовательности.
Разделение текста на страницы с помощью символа перевода формата \f
Переход на новую страницу — символ перевода формата — \f
(form feed). Этот символ используется для создания разделения между частями текста, как будто текст выводится на новую страницу.
Пример:
1 | $ echo -e "Этот текст\nбудет\nразделен\fна\nнесколько\nстраниц." |
В этом примере, каждый раз, когда символ \f встречается, текст переходит на новую «страницу» при выводе на экран.
Переход на новую строку с помощью управляющей последовательности \n
Новая строка — символ перевода строки — \n
(new line). Эта управляющая последовательность используется для перехода на новую строку в выводе команды echo
.
1 | $ echo -e "Это первая строка\nА это уже вторая строка." |
Символ \n
позволяет разделять текст на строки и улучшать читаемость вывода.
Перезапись строки с символом возврата каретки \r
Символ возврата каретки \r
(carriage return) — это управляющая последовательность, которая перемещает каретку в начало строки без перехода на новую строку. Это позволяет перезаписать текст, начиная с начала текущей строки.
Пример:
1 | echo -e "12345\rXX" # Выведет "XX345" |
В этом примере, после символов «12345» возвращаемся к началу строки с помощью \r и заменяем часть строки на «XX». Каретка вернулась на начало строки, и символы «XX» перезаписали часть строки, начиная с начала.
Символ возврата каретки может быть полезен для перезаписи части строки в командной оболочке.
Создание горизонтальной табуляции для оформления текста с символом \t
Горизонтальная табуляция (символ табуляции) — \t
. Используется для создания горизонтального отступа в тексте. При его применении текст будет выровнен по горизонтали на определенной позиции, как если бы вы нажали клавишу «Tab» на клавиатуре.
Пример:
1 | $ echo -e "Этот текст\tсодержит горизонтальную табуляцию." |
В этом примере текст «содержит горизонтальную табуляцию» будет выровнен на позиции, указанной символом \t.
Символ горизонтальной табуляции часто используется для форматирования текста и создания таблиц в командной оболочке.
Вертикальное выравнивание текста с помощью символа \v
Символ \v
представляет собой вертикальную табуляцию (vertical tab). Этот управляющий символ используется для создания вертикальных отступов или разделения текста по вертикали. В текстовых документах и выводе команды echo
, он может использоваться для форматирования текста с учетом вертикальных интервалов.
Пример:
1 | $ echo -e "Первая строка\vВторая строка\vТретья строка" |
Этот пример выведет три строки, разделенные вертикальной табуляцией.
Символ \v
особенно полезен, если вам нужно создать вертикальное выравнивание или разделить текст на несколько колонок по вертикали.
Создание и запись в файл с помощью команды echo
Команда echo
также может использоваться для записи текста в файл. Для этого вы можете перенаправить вывод команды echo
в файл, используя оператор >
или >>
в командной строке.
Если необходимо записать вывод в файл используйте оператор — >
. при этом сначала очищая файл, если он существует, а затем записывая в него текст. Если файл не существует, он будет создан.
1 | $ echo "Этот текст будет записан в файл" > file.txt |
Если нужно оставить информацию которая уже есть в файле и требуется только добавить вывод то используйте оператор — >>
. Если файл существует, новый текст будет добавлен в конец файла.
1 | $ echo "Этот текст будет добавлен в конец файла" >> file.txt |
Показать файлы и папки
Вывод содержимого всех файлов в текущем каталоге с использованием специального символа ‘*’ является простым и удобным способом просмотра списка файлов в данной директории. Это может быть полезным, когда вам нужно быстро ознакомиться с содержимым каталога. Команда echo *
выводит имена всех файлов и каталогов, находящихся в текущей директории, и разделяет их пробелами.
Пример:
1 | $ echo * |
Этот прием может быть особенно полезен, когда вам нужно быстро проверить, какие файлы и папки находятся в текущей директории перед выполнением других операций или команд. Этот способ похож на работу команды ls которая является более подходящей для подобной задачи.
Вывод файлов с определенным расширением с помощью команды echo
Это способ выборочного просмотра содержимого файлов, имеющих конкретное расширение, в текущем каталоге или других директориях. Эта задача может быть полезной, когда вы хотите быстро оценить файлы с определенным типом или расширением, например, файлы изображений, текстовые документы или лог-файлы.
Для выполнения этой задачи можно использовать комбинацию с символом ‘*’. Например, чтобы вывести все файлы с расширением ‘.txt’ в текущей директории, можно использовать команду:
1 | $ echo *.txt |
Эта команда сначала использует символ ‘*’ для подстановки всех файлов с расширением ‘.txt’ в текущей директории, а затем выводит их имена.
Присвоение цветов строке
Для присвоения цветов строке при выводе с помощью команды echo
, можно использовать управляющие последовательности ANSI. Эти последовательности позволяют задать цвет фона и текста, а также внести другие стилевые изменения в текст.
Пример:
1 2 | # Цвет текста: красный, фон: желтый, жирный шрифт echo -e "\e[1;31;43mЭтот текст будет красным на желтом фоне\e[0m" |
Этот код использует опцию -e
для включения интерпретации управляющих последовательностей ANSI. Последовательность \e[1;31;43m
устанавливает красный текст на желтом фоне с жирным шрифтом, а \e[0m
сбрасывает все стилевые изменения.
Можно изменять цвета и стили, указывая числа внутри квадратных скобок. Например, [1;31;43m
означает жирный красный текст на желтом фоне, а [0m
сбрасывает стили.
Управляющая последовательность начинается с одного из трех представлений: \x1b[
(в шестнадцатеричной системе), \u001b[
(в системе Unicode) или \033[
(в восьмеричной системе). Затем следуют аргументы, разделенные между собой точкой с запятой ;
(их можно указывать в любом порядке). В конце управляющей последовательности всегда ставится буква m
.
Важно помнить, что не все терминалы поддерживают управляющие последовательности ANSI, поэтому результат может быть разным в зависимости от вашей конфигурации терминала.
Для создания цветов можно использовать генератор.
Стили:
Модификатор | Код |
1 | Жирный |
2 | Блеклый |
3 | Курсив |
4 | Подчёркнутый |
5 | Мигание |
9 | Зачёркнутый |
Цвет шрифта:
Цвет | Код |
30 | Чёрный |
31 | Красный |
32 | Зелёный |
33 | Жёлтый |
34 | Синий |
35 | Фиолетовый |
36 | Бирюзовый |
37 | Белый |
Цвет фона:
Цвет | Код |
40 | Чёрный |
41 | Красный |
42 | Зелёный |
43 | Жёлтый |
44 | Синий |
45 | Фиолетовый |
46 | Бирюзовый |
47 | Белый |