Главная >> Команды >> Команда echo в Linux

Команда 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

Также можно вывести значение переменной. Сначала объявим переменную:

export VAR=losst

Затем выведем ее значение:

echo Наш сайт $VAR

Как уже говорилось, с помощью опции -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. Для доступны такие цвета текста:

  • \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[35mLinux \033[34mopen \033[32msource \033[33msoftware \033[31mtechnologies\033[0m"

С основными параметрами команды echo разобрались, теперь рассмотрим еще некоторые специальные символы bash. Вы можете вывести содержимое текущей папки просто подставив символ *:

echo *

Также можно вывести файлы определенного расширения:

echo *.mkv

Я уже говорил, что 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. Несмотря на свою простоту, она может применяться для решения различных задач и незаменима при написании простых скриптов. Надеюсь, эта информация была вам полезной.

23 комментария к “Команда echo в Linux”

  1. Еще если вы напишите echo "ваш текст" >~/название вашего файла.txt, то создастся файл с расширением .txt под названием "название вашего файла", содержащий в себе запись "ваш текст"

    Ответить
  2. как вывести два процесса например
    tcpdump -i lo tcp port 1234 -w /mnt/media/user/tcp.pcap &
    echo = $!
    journalctl -u test-test -f > /mnt/media/user/journalctl.log &
    echo = $!
    как записать второй процесс чтобы по команде можно было бы их обоих kill -9 $!
    Кто знает прошу помочь, Спасибо.

    Ответить
  3. Последний пример:
    $ echo "UUID=09ec0871-2f55-4dd5-aeb2-cacc4a67907c /var/tmp btrfs subvol=@/var/tmp 0 0" >> /etc/fstab
    так не получится.
    Правильно будет:
    $ echo "UUID=09ec0871-2f55-4dd5-aeb2-cacc4a67907c /var/tmp btrfs subvol=@/var/tmp 0 0" | sudo tee --append /etc/fstab

    Ответить

Оставьте комментарий