Команда Echo в Linux с примерами
Команда echo — одна из самых основных и часто используемых команд в Linux. Аргументы, переданные в echo выводятся на стандартный вывод.
echo обычно используется в сценариях оболочки для отображения сообщения или вывода результатов других команд.
эхо-команда
echo — это оболочка, встроенная в Bash и большинство других популярных оболочек, таких как Zsh и Ksh. Его поведение немного отличается от оболочки к оболочке.
Существует также отдельная утилита /usr/bin/echo , но обычно встроенная версия оболочки имеет приоритет. Мы рассмотрим встроенную в Bash версию echo .
Синтаксис команды echo следующий:
- Когда используется опция -n , завершающий символ новой строки подавляется.
- Если задана опция -e будут интерпретироваться следующие символы, экранированные обратной косой чертой:
- \ — отображает обратную косую черту.
- a — Предупреждение (BEL)
- b — отображает символ возврата.
- c — подавить любой дальнейший вывод
- e — отображает escape-символ.
- f — отображает символ перевода страницы.
- n — отображает новую строку.
- r — отображает возврат каретки.
- t — отображает горизонтальную вкладку.
- v — отображает вертикальную вкладку.
При использовании команды echo следует учитывать несколько моментов.
- Оболочка заменит все переменные, сопоставление подстановочных знаков и специальные символы перед передачей аргументов команде echo .
- Хотя это и не обязательно, рекомендуется заключать аргументы, передаваемые в echo в двойные или одинарные кавычки.
- При использовании одинарных кавычек » буквальное значение каждого символа, заключенного в кавычки, будет сохранено. Переменные и команды расширяться не будут.
echo Примеры
В следующих примерах показано, как использовать команду echo:
- Вывести строку текста на стандартный вывод.
echo -e "You know nothing, Jon Snow.nt- Ygritte"
You know nothing, Jon Snow. - Ygritte
echo The PHP files are: *.php
The PHP files are: index.php contact.php functions.php
echo -e 'The only true wisdom is in knowing you know nothing.nSocrates' >> /tmp/file.txt
Если файл file.txt не существует, команда создаст его. При использовании > файл будет перезаписан, а символ >> добавит вывод в файл . Используйте команду cat для просмотра содержимого файла:
The only true wisdom is in knowing you know nothing. Socrates
echo -e "33[1;37mWHITE"
echo -e "33[0;30mBLACK"
echo -e "33[0;34mBLUE"
echo -e "33[0;32mGREEN"
echo -e "33[0;36mCYAN"
echo -e "33[0;31mRED"
echo -e "33[0;35mPURPLE"
echo -e "33[0;33mYELLOW"
echo -e "33[1;30mGRAY"
Выводы
К настоящему времени вы должны хорошо понимать, как работает команда echo .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Использование команды 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 . Как вы уже знаете, он активирует перенос строки, если это не было указано изначально.
- Мы указали \n в двух словах, идущих после первого, следовательно, каждое из них будет отображаться в новой строке.
- Перейдем к табуляции, использующейся для выравнивания текста. Вам достаточно будет прописать в необходимых местах \t , чтобы добиться нужного результата.
- Как видно, к первому слову табуляция была применена дважды. Учитывайте это при выводе строк.
- Дополнительно ничего не мешает указывать несколько опций последовательно, соблюдая правила ввода.
- Так, например, на приведенном ниже скриншоте вы видите результат вывода с переносом и табуляцией одновременно.
- В качестве последнего примера возьмем /v . Этот аргумент создает вертикальную табуляцию.
- В результате получается каждое слово с новой строки и в виде ступенек.
- Для начала создадим пробную переменную введя export I=Lumpics , где I — имя переменной, а Lumpics — ее значение.
- Используйте echo $I , чтобы вывести в следующей строке значение обозначенной переменной.
- Как видите, все отобразилось корректно.
- Создадим еще одну переменную через export L=Linux .
- Введем пробную команду echo $I Site $L .
- Теперь вы знаете, что echo справляется с выводом двух и более переменных в формате одной строки.
- Введите в «Терминале» echo * , чтобы показать содержимое текущей папки.
- Следующей строкой появится перечень абсолютно всех входящих директорий и элементов. Это будет стандартная строка без оформления. Однако теперь вы уже знаете, что ее можно видоизменить на основании примеров выше.
- Укажите echo *.txt , если хотите отобразить только элементы обозначенного формата. Замените .txt на другой необходимый вариант.
- В конце отметим, что echo выступает и для редактирования конфигурационных файлов, что осуществляется так: echo 1 > /proc/sys/net/ipv4/ip_forward . 1 — строка для внесения, а /proc/sys/net/ipv4/ip_forward — путь к нужному объекту.
Теперь вы знаете, что команда echo способна выводить заданные строки в любом виде, который можно реализовать путем указания соответствующих опций. Давайте перейдем к другим параметрам, чтобы вы понимали, какие из них стоит комбинировать в правильном формате.
Вывод значений переменной
Практически в каждом скрипте используются определенные переменные, в которые заранее устанавливается значение. Если речь идет об утилите 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 в операционной системе Linux. Если вас заинтересовала тема взаимодействия с популярными командами, дополнительно рекомендуем изучить статью по этой теме на нашем сайте, перейдя по указанным ниже ссылкам.