Команда echo является одной из самых основных и часто используемых команд в Linux. Он печатает строки, которые передаются в качестве аргументов в стандартный вывод.
Echo обычно используется в сценариях оболочки для отображения сообщения или вывода результатов других команд.
Команда Echo
echo – это оболочка, встроенная в Bash и большинство других популярных оболочек, таких как Zsh и Ksh. Его поведение немного отличается от оболочки к оболочке. Существует также отдельная утилита /usr/bin/echo, но обычно встроенная версия оболочки имеет преимущество. Мы рассмотрим встроенную версию echo в Bash.
Синтаксис команды echo следующий:
echo [-neE] [ARGUMENTS]
Когда указана опция -n, завершающий символ новой строки подавляется.
Если указан параметр -e, будут интерпретироваться следующие символы с обратной косой чертой:
\\ – Отображает символ обратной косой черты.
\a – Оповещение (BEL)
\b – Отображает символ возврата на одну позицию.
\c – Подавить дальнейший вывод
\e – Отображает символ escape.
\f – Отображает символ подачи формы.
\n – Отображает новую строку.
\r – Отображает возврат каретки.
\t – Отображает горизонтальную вкладку.
\v – Отображает вертикальную вкладку.
Опция -E отключает интерпретацию символов побега. По умолчанию.
Есть несколько моментов, которые следует учитывать при использовании команды echo.
Оболочка заменит все переменные, подстановочные знаки и специальные символы перед передачей аргументов команде echo.
Несмотря на то, что в этом нет необходимости, хорошая практика программирования заключать аргумент, передаваемый команде echo, в двойные или одинарные кавычки.
При использовании одинарных кавычек (‘ ‘) будет сохранено буквальное значение каждого символа, заключенного в кавычки. Переменные и команды не будут расширены.
Примеры Echo
В следующих примерах показано, как использовать команду echo:
Вывести строку текста на стандартный вывод.
echo Hello, World!
Hello, World!
Показать строку текста, содержащую двойную кавычку.Чтобы напечатать двойные кавычки, заключите их в одинарные кавычки или экранируйте их символом обратной косой черты.
echo 'Hello "andreyex"'
echo "Hello \"andreyex\""
Hello, World!
Показать строку текста, содержащую одну кавычку.Чтобы напечатать одинарную кавычку, заключите ее в двойные кавычки или используйте квотирование ANSI-C .
echo "Я пользователь Linux."
echo $'Я\ пользователь Linux.'
Hello, World!
Показать сообщение, содержащее специальные символы.Используйте опцию -e, чтобы включить интерпретацию символов escape.
echo -e "Ты ничего не знаешь, Master.\n\t- AndreyEx"
Ты ничего не знаешь, Master.
- AndreyEx
Шаблон соответствия символов.Команда echo может использоваться с символами сопоставления с образцом, такими как символы подстановки. Например, приведенная ниже команда вернет имена всех файлов .php в текущем каталоге.
echo В php файлы являются: *.php
В php файлы являются: index.php contact.php functions.php
Перенаправить в файлВместо отображения вывода на экране вы можете перенаправить его в файл , используя оператор >, >>.
echo -e 'Единственная истинная мудрость в том, чтобы знать, что ты ничего не знаешь.\nСократ' >> /tmp/file.txt
Если файл file.txt не существует, команда создаст его. При использовании > файл будет перезаписан, в то время >> будет добавлен в файл.
Используйте команду cat для просмотра содержимого файла:
cat /tmp/file.txt
Единственная истинная мудрость в том, чтобы знать, что ты ничего не знаешь.
Сократ
Отображение переменныхecho также может отображать переменные. В следующем примере мы распечатаем имя вошедшего в систему пользователя.
echo $USER
andreyex
$USER является переменной оболочки.
Отображение вывода командыИспользуйте выражение $(command), чтобы включить вывод команды в аргумент echo. Следующая команда отобразит текущую дату:
echo "The date is: $(date +%D)"
The date is: 04/19/19
Отображение в цветеИспользуйте escape-последовательности ANSI, чтобы изменить цвета переднего плана и фона или установить свойства текста, такие как подчеркивание и полужирный.
а про шестнадцатеричное представление данных