Содержание:
Как известно, большинство действий в операционной системе Linux осуществляются через консоль. Пользователи задействуют специальные команды, отвечающие за выполнение определенных процессов, а заранее указанные опции позволяют собственными руками управлять дополнительными возможностями тех самых утилит. Одной из таких команд является echo, и сегодня мы хотим более детально рассказать об этой утилите, приведя несколько примеров ее использования.
Используем команду echo в Linux
Рассматриваемая сегодня команда echo имеет примитивный вид и узкопрофильное предназначение — выводить текст на экран. Однако это не мешает ей часто использоваться в различных скриптах и для других целей. Далее мы предлагаем вкратце ознакомиться с синтаксисом данной утилиты и разобрать самые популярные и простые примеры ее ввода в стандартной консоли.
Синтаксис echo
Практически каждая команда помимо основной своей функции может выполнять и другие действия с учетом указанных аргументов. echo не стала исключением в этом плане, однако из-за простоты самой команды расширенных опций существует не так уж и много. Давайте подробнее рассмотрим каждую из них, но сначала обратите внимание на стандартный вид строки: echo + опции + строка
.
Опции | Описание |
---|---|
-n | Не будет выводить перенос строки |
-e | Отвечает за включение Escape-последовательностей |
-E | Отключает интерпретацию Escape-последовательностей |
Отметим также, что Escape-последовательности — универсальные опции, представленные в виде символов. Каждая из них имеет определенное значение, и если вы включите интерпретацию при использовании команды echo, то можете задействовать такие аргументы:
Опции | Описание |
---|---|
/c | Отвечает за удаление перевода строки |
/t | Выводит горизонтальную табуляцию |
/v | Создает вертикальную табуляцию |
/b | Удаляет предыдущий символ в строке |
/n | Включает перенос строки на новую |
/r | Возвращает каретку в начало строки |
Еще раз уточним, что приведенные выше опции доступны к вводу только в тех ситуациях, когда вы изначально прописали аргумент -e в команде. Если есть необходимость, каждый этот символ можно проставить после любого из слов строки ввода, что мы покажем в следующих инструкциях.
Вывод простых строк
Как уже было сказано ранее, основное предназначение команды echo — вывод на экран строк. Именно об этом мы и хотим поговорить далее, рассмотрев несколько простых действий, которые помогут понять, как именно работают все основные опции утилиты.
- Запустите консоль удобным для вас образом, например через меню приложений или путем нажатия на горячую клавишу Ctrl + Alt + T. Здесь введите
echo
+ любое слово или словосочетание, чтобы проверить стандартное действие команды. Активируется она нажатием на клавишу Enter. - Как видите, в новой строке отобразились только что введенные слова в точно таком же формате.
- Если перед каждым словом вы добавите опцию
\b
, предыдущий символ будет стерт, а это значит, что результат выведется без пробелов, при условии, что мы имеем изначальный видecho -e "Lumpics \bSite \bLinux"
. - Мы проставили указанную опцию во всех словах, поэтому результат получился соответствующий.
- Теперь давайте обратим внимание на параметр
\n
. Как вы уже знаете, он активирует перенос строки, если это не было указано изначально. - Мы указали
\n
в двух словах, идущих после первого, следовательно, каждое из них будет отображаться в новой строке. - Перейдем к табуляции, использующейся для выравнивания текста. Вам достаточно будет прописать в необходимых местах
\t
, чтобы добиться нужного результата. - Как видно, к первому слову табуляция была применена дважды. Учитывайте это при выводе строк.
- Дополнительно ничего не мешает указывать несколько опций последовательно, соблюдая правила ввода.
- Так, например, на приведенном ниже скриншоте вы видите результат вывода с переносом и табуляцией одновременно.
- В качестве последнего примера возьмем
/v
. Этот аргумент создает вертикальную табуляцию. - В результате получается каждое слово с новой строки и в виде ступенек.
Теперь вы знаете, что команда echo
способна выводить заданные строки в любом виде, который можно реализовать путем указания соответствующих опций. Давайте перейдем к другим параметрам, чтобы вы понимали, какие из них стоит комбинировать в правильном формате.
Вывод значений переменной
Практически в каждом скрипте используются определенные переменные, в которые заранее устанавливается значение. Если речь идет об утилите echo, то она способна выводить те самые значения. Мы рассмотрим этот пример в одной терминальной сессии без предварительного создания самого скрипта. Это обозначает, что при перезапуске консоли значения будут стерты.
- Для начала создадим пробную переменную введя
export I=Lumpics
, где I — имя переменной, а Lumpics — ее значение. - Используйте
echo $I
, чтобы вывести в следующей строке значение обозначенной переменной. - Как видите, все отобразилось корректно.
- Создадим еще одну переменную через
export L=Linux
. - Введем пробную команду
echo $I Site $L
. - Теперь вы знаете, что echo справляется с выводом двух и более переменных в формате одной строки.
В большинстве случаев подобный вывод переменных используется только при написании скриптов, однако подобная функция может пригодится, если планируется производить ряд одинаковых, зависимых от одного значения, действий в пределах одной терминальной сессии.
Присвоение цветов строке
Если вы активно используете консоль, то знаете, что каждое слово здесь может принять любой доступный цвет, а не только белый или черный (в зависимости от темы «Терминала»). echo тоже позволяет раскрашивать строки, а отвечают за это такие аргументы:
Аргумент | Цвет |
---|---|
\033[30m | Чёрный |
\033[31m | Красный |
\033[32m | Зелёный |
\033[33m | Желтый |
\033[34m | Синий |
\033[35m | Фиолетовый |
\033[36m | Голубой |
\033[37m | Серый |
Имеется и ряд других аргументов, позволяющих изменить цвет фона надписи. Выглядит список похожим образом, но имеются различия в цифрах:
Аргумент | Цвет |
---|---|
\033[40m | Чёрный |
\033[41m | Красный |
\033[42m | Зелёный |
\033[43m | Желтый |
\033[44m | Синий |
\033[45m | Фиолетовый |
\033[46m | Голубой |
\033[47m | Серый |
\033[0m | Сбрасывает все значения до состояния по умолчанию |
Как вы уже поняли, эти аргументы придется применять к каждой строке, если в этом есть необходимость. Выглядит подобная структура так: echo -e "\033[33mLumpics \033[46mSite \033[41mLinux"
.
Приведенный выше пример окрасил фон строки «Lumpics» в оранжевый цвет, а к «Site» и «Linux» дополнительно были активированы фоны разных цветов. Вы это видите на приведенном ниже скриншоте действия введенной команды.
Специальные символы Bash
Команда echo функционирует только в среде Bash, соответственно, она должна поддерживать стандартные опции этого окружения. В большинстве случаев они отвечают за сортировку файлов и вывод объектов текущего расположения.
- Введите в «Терминале»
echo *
, чтобы показать содержимое текущей папки. - Следующей строкой появится перечень абсолютно всех входящих директорий и элементов. Это будет стандартная строка без оформления. Однако теперь вы уже знаете, что ее можно видоизменить на основании примеров выше.
- Укажите
echo *.txt
, если хотите отобразить только элементы обозначенного формата. Замените .txt на другой необходимый вариант. - В конце отметим, что echo выступает и для редактирования конфигурационных файлов, что осуществляется так:
echo 1 > /proc/sys/net/ipv4/ip_forward
. 1 — строка для внесения, а /proc/sys/net/ipv4/ip_forward — путь к нужному объекту.
В рамках сегодняшнего материала мы разобрались с использованием echo в операционной системе Linux. Если вас заинтересовала тема взаимодействия с популярными командами, дополнительно рекомендуем изучить статью по этой теме на нашем сайте, перейдя по указанным ниже ссылкам.
Читайте также:
Часто используемые команды в «Терминале» Linux
Команда ln / find / ls / grep / PWD в Linux
Спасибо большое за пояснения