Команда echo

Команда echo является встроенной командой командной оболочки, позволяющей выводить произвольные строки (вы можете обнаружить аналоги данной команды в таких языках программирования, как Perl и PHP). Стоит упомянуть о том, что в подавляющем большинстве систем по умолчанию также установлена одноименная утилита, предназначенная для той же цели, но работающая немного по-другому. По этой причине следует всегда использовать либо встроенную команду, либо внешнюю утилиту.

Базовый синтаксис команды выглядит следующим образом:

$ echo [параметры] строка

Строка может быть представлена как в форме множества аргументов-слов, так и в форме одного аргумента, причем в этом случае при наличии в ней пробелов она должна помещаться в двойные кавычки. Команда поддерживает ровно два параметра, а именно, параметр -n, позволяющий не использовать символ перехода на новую строку после вывода строки и параметр -e, позволяющий обрабатывать управляющие последовательности в рамках строки. Команда поддерживает следующие управляющие последовательности:

Последовательность Назначение
\b Удаление предыдущего символа
\\ Вставка символа слэша
\n Вставка символа перехода на новую строку
\r Вставка символа возврата каретки
\t Вставка символа табуляции
\v Вставка символа вертикальной табуляции
\0NNN Вставка ASCII-символа номер NNN (номер задается в восьмеричном формате)

Помимо этого команда может использоваться для вывода значений переменных в сценариях.

Примеры использования

Вывод строки

Для простого вывода строки команда может использоваться без каких-либо параметров:

  1. $ echo Hello, Alex
  2. Hello, Alex

Аналогичная команда с единственным аргументом:

  1. $ echo "Hello, Alex"
  2. Hello, Alex

Еще один вариант команды, на этот раз с управляющими последовательностями:

  1. $ echo -en "Hello,\040Alex\n"
  2. Hello, Alex

В данном случае необходимо использовать параметр -e, управляющая последовательность \n добавляет символ перехода на новую строку в конец строки взамен убранного с помощью параметра -n, а управляющая последовательность \040 — символ пробела между словами (символ пробела имеет номер 32 в таблице ASCII или 40 в восьмеричном формате).

Вывод значения переменной

Для вывода значения переменной в рамках сценария следует использовать символ $ и имя этой переменной:

  1. $ myname=Alex
  2. $ echo -e "Hello, $myname"
  3. Hello, Alex

Очевидно, что для вывода значений переменных в процессе работы с командной оболочкой также следует использовать параметр -e. Таким образом можно выводить значения переменных окружения:

  1. echo -e "Hello, $USERNAME"
  2. Hello, alexfc