Использование команды echo в Linux
Как известно, большинство действий в операционной системе 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 в двух словах, идущих после первого, следовательно, каждое из них будет отображаться в новой строке.
Перейдем к табуляции, использующейся для выравнивания текста. Вам достаточно будет прописать в необходимых местах \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. Если вас заинтересовала тема взаимодействия с популярными командами, дополнительно рекомендуем изучить статью по этой теме на нашем сайте, перейдя по указанным ниже ссылкам.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Команда echo в Linux — синтаксис и параметры
echo — это встроенная команда Linux. Основное предназначение выводить строку текста на экран, однако часто используется в других ситуациях, например нужно добавить в файл единицу или сохранить строку в новый документ.
Синтаксис
echo [параметры] строка
- -e. Использовать Escape поддержку вывода.
- -E. Не использовать Escape последовательности вывода.
- -n. Не переводит результат выполнения команды на новую строку.
Про параметры это все, есть дополнительные аргументы, которые работают при включенной опции Escape последовательности «-e».
- /c. Убрать перевод строки.
- /r. Показывает возврат каретки.
- /b. Удаляет предыдущий символ.
- /t. Показывает горизонтальную вкладку
- /v. Выводит вертикальную вкладку.
- /n. Перевод на новую строку.
Примеры
Для начала выведем на экран слово тест.
Часто для настройки маршрутизации трафика в локальную сеть нужно добавить в конец файла ip_forward единицу. Чтобы не открывать этот файл специальными редакторами например nano или vim, воспользуемся эхо и специальным символом «>» перенаправление вывода.
Подсчитаем количество байт в слове «линукс», для этого одной директивы эхо не хватит. Нужно воспользоваться дополнительной командой «wc».
wc — это утилита, которая считает количество слов или строк в тексте. Она устанавливается по умолчанию в дистрибутивах GNU Линукс.
Как видно на скриншоте выше 13 байт. Почему 13? Дело в том что в кодировке utf8 один русский символ занимает 2 байта. В слове линукс шесть букв. Получается 6*2 = 12. Где же еще один байт? 1 байт занимает пустая строка.
Также эхо может выводить на экран значение переменной. Чтобы посмотреть как это работает, объявим переменную linux с помощью «export».
export — это встроенная команда оболочки bash. Обычно используется для объявления переменной.
Рассмотрим как работает команда с опциями.
Включим интерпретацию специальных последовательностей, параметр «-e» и переведем каждое слово на новую строку, аргумент «\n».
Источник