
Команда 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: *.phpThe 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 $USERlinuxize$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 .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства