- Команда echo в Linux
- Команда echo linux
- Примеры работы echo
- Выводы
- Как в Linux вывести строку?
- Как вывести сходу информацию из двух созданных файлов?
- Как вывести некоторую строку файла в Linux?
- Как вывести 5-ый строку в Linux?
- Как вывести нужные строки в Linux из файла с помощью sed?
- Команда Echo в Linux с примерами
- эхо-команда
- echo Примеры
- Выводы
Команда 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 позволяет удалить предыдущий символ. Например, удалим все пробелы из строки:
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.
Как в Linux вывести строку?
Начнем с команды, с которой уже не однократно встречались, команда cat. Сначала посмотрим справку по данной команде с помощью man cat. Этая команда предназначена для объединения файлов и печати на стандартный вывод информации. Под стандартным выводом предполагается вывод на консоль информации. Так же можно увидеть, что у данной команды есть ключи.
Как вывести сходу информацию из двух созданных файлов?
А в справке было написано, что команда сможет объединять содержимое файлов.
cat hello1.txt hello2.txt > hello3.txt
cat hello3.txt
Мы вывели на стандартный вывод (консоль) содержание файлов и передали то, что на экране в новый файл hello3.txt. А затем просто вывели на консоль.
Как вывести некоторую строку файла в Linux?
При трейсе ошибки установки одного скрипта, возникла необходимость прочитать 98 строку файла. Делается это, ожидаемо, через команду вывода cat
# cat filename | head -n98 | tail -n1
где head -n предлагает сделать нужную строку, а tail -n задает сколько строк показать перед нужной. В данном варианте показана будет только одна строка.
То есть если нам необходимо вывести какой-никакой то сегмент строк, скажем, строки с 10 по 20, то выражение будет иметь вид
# cat filename | head -n20 | tail -n11
Как вывести 5-ый строку в Linux?
Если я хочу извлечь пятую строку файла, то делаю так:
$ head -n 5 имя_файла | tail -n 1
#!/bin/bash
for i in $(find /etc/ -type f);
do cat $i | head -n5 | tail -n1 >> ~/000
done
sort ~/000
Данный скрипт на bash хватит всё файлы из папки etc, с них берёт пятую строку и выводит в файл, который создаёт в домашнем каталоге, а затем сортирует.
Как вывести нужные строки в Linux из файла с помощью sed?
Тому, кто пишет много скриптов bash, довольно частенько приходится выбирать нужные строки из текста, например готовые блоки кода. Вчера я как раз обязан был извлечь первую строку из файла, назовем его somefile.txt.
$ cat somefile.txt
Line 1
Line 2
Line 3
Line 4
Это весьма просто сделать при помощи команды head:
$ head -1 somefile.txt
Line 1
Для более сложных задачек, например, извлечь вторую и третью строки из того же файла, команда head не подходит. Подавайте попробуем команду sed ? редактор потока (STream Editor). Моя первая попытка применить команду p (print) очутилась неудачной:
$ sed 1p somefile.txt
Line 1
Line 1
Line 2
Line 3
Line 4
Обратите внимание, что редактор отпечатывает весь файл, причем указанную первую строку печатает дважды. Почему? По умолчанию редактор перепечатывает на типовой вывод каждую строку вводимого файла. Четко заданная команда 1p приказывает печатать первоначальную строку. В итоге первая строка дублируется. Чтобы этого не происходило нужно подавить дефолтный вывод при поддержки опции -n, чтобы на выводе был только результат команды 1p:
$ sed -n 1p somefile.txt
Line 1
Можно пойти иным путем и удалить из файла все строки, кроме первой:
$ sed ‘1!d’ somefile.txt
Line 1
где ‘1!d’ значит: если строка не является первой (!), то подлежит удалению. Обратите внимания на кавычки (одинарные). Они асбсолютно необходимы, так как без них конструкция 1!d вызовет последнюю запускавшуюся в шелле команду, начинающуюся с буквы d. Для извлечения многих строк, скажем, со второй по четвертую, можно поступить одним из следующих способов:
$ sed -n 2,4p somefile.txt
$ sed ‘2,4!d’ somefile.txt
Перерыв обозначается через запятую включительно. А если строки не идут друг за другом, например, с первоначальной по вторую и еще четвертую?
$ sed -n -e 1,2p -e 4p somefile.txt
Команда 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 .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.