
Команда echo — одна из самых простых и часто используемых команд в Linux. Аргументы, передаваемые echo выводятся на стандартный вывод.
echo обычно используется в скриптах оболочки для отображения сообщения или вывода результатов других команд.
Команда echo
echo — встроенная функция оболочки Bash и большинства других популярных оболочек, таких как Zsh и Ksh. Её поведение немного различается в зависимости от оболочки.
Существует также отдельная утилита /usr/bin/echo , но обычно приоритет отдаётся встроенной в оболочку версии. Мы рассмотрим встроенную в Bash версию echo .
Синтаксис команды echo следующий:
echo [ -neE ] [ ARGUMENTS ]
- При использовании опции -n завершающий символ новой строки подавляется.
- Если указана опция -e , будут интерпретироваться следующие символы, экранированные обратной косой чертой:
- — Отображает символ обратной косой черты.
- a — Тревога (BEL)
- b — Отображает символ возврата на одну позицию.
- c — Подавить дальнейший вывод
- e — Отображает экранированный символ.
- f — Отображает символ перевода страницы.
- n — Отображает новую строку.
- r — Отображает возврат каретки.
- t — Отображает горизонтальную вкладку.
- v — Отображает вертикальную вкладку.
- Параметр -E отключает интерпретацию экранированных символов. Это значение по умолчанию.
При использовании команды echo следует учитывать несколько моментов.
- Оболочка заменит все переменные, подстановочные знаки и специальные символы перед передачей аргументов команде echo .
- Хотя это и не обязательно, хорошей практикой программирования является заключение аргументов, передаваемых в echo в двойные или одинарные кавычки.
- При использовании одинарных кавычек » значение каждого символа, заключённого в кавычки, сохраняется. Переменные и команды не раскрываются.
Примеры echo
В следующих примерах показано, как использовать команду echo:
- Вывести строку текста на стандартный вывод.echo Hello, World! Hello, World!
- Отобразить строку текста, содержащую двойные кавычки.Чтобы напечатать двойную кавычку, заключите ее в одинарные кавычки или экранируйте ее символом обратной косой черты. echo ‘Hello «Linuxize»‘ echo «Hello «Linuxize»» Hello «Linuxize»
- Отобразить строку текста, содержащую одинарную кавычку.Чтобы напечатать одинарную кавычку, заключите ее в двойные кавычки или используйте кавычки ANSI-C . echo «I’m a Linux user.» echo $’I’ma Linux user.’ I’m a Linux user.
- Отобразить сообщение, содержащее специальные символы.Используйте опцию -e , чтобы включить интерпретацию экранированных символов.echo -e «You know nothing, Jon Snow.nt- Ygritte» You know nothing, Jon Snow. — Ygritte
- Символы, сопоставляющие себя с образцом.Команда echo может использоваться с символами, сопоставляемыми с шаблоном, например, с подстановочными знаками. Например, команда ниже вернет имена всех файлов .php в текущем каталоге.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 :
cat /tmp/file.txtThe only true wisdom is in knowing you know nothing. Socrates
- Отображение переменныхecho также может отображать переменные. В следующем примере мы выведем имя текущего вошедшего в систему пользователя:echo $USER linuxize$USER — переменная оболочки , которая хранит ваше имя пользователя.
- Отображение вывода командыИспользуйте выражение $(command) , чтобы включить вывод команды в аргумент echo . Следующая команда выведет текущую дату :echo «The date is: $(date +%D)» The date is: 04/17/19
- Отображение в цветеИспользуйте escape-последовательности ANSI для изменения цветов переднего плана и фона или для установки свойств текста, таких как подчеркивание и полужирный шрифт.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 .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
