Введение
Команда 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
отключает интерпретацию escape-символов. Это значение по умолчанию.
Есть несколько моментов, которые следует учитывать при использовании команды echo
.
- Оболочка заменит все переменные, подстановочные знаки и специальные символы перед передачей аргументов команде
echo
. - Хотя это и не обязательно, хорошей практикой программирования является заключение аргументов, передаваемых
echo
, в двойные или одинарные кавычки. - При использовании одинарных кавычек
''
буквальное значение каждого символа, заключенного в кавычки, будет сохранено. Переменные и команды не будут расширены.
Примеры команды эхо
В следующих примерах показано, как использовать команду echo.
Чтобы вывести строку текста на стандартный вывод:
echo Hello, World!
Hello, World!
Чтобы напечатать двойную кавычку, заключите ее в одинарные кавычки или избегайте символа обратной косой черты.
echo 'Hello "Noviello"'
echo "Hello \"Noviello\""
Hello "Noviello"
Чтобы отобразить строку текста, содержащую одинарную кавычку, заключите ее в двойные кавычки или используйте кавычки ANSI-C.
echo "I'm a Linux user."
echo $'I\'ma Linux user.'
I'm a Linux user.
Чтобы отобразить сообщение, содержащее специальные символы, используйте параметр -e
, чтобы включить интерпретацию escape-символов.
echo -e "Hello, Noviello.\n\t- Hello"
Hello, Noviello.
- Hello
echo
можно использовать с символами сопоставления с образцом, такими как подстановочные знаки. Например, следующая команда вернет имена всех файлов .php
в текущем каталоге.
echo The PHP files are: *.php
The PHP files are: index.php contact.php functions.php
Чтобы перенаправить в файл вместо отображения вывода на экране, вы можете использовать операторы >
, >>
.
echo -e 'Hello.\nNoviello' >> /tmp/file.txt
Если файл.txt не существует, команда создаст его. При использовании >
файл будет перезаписан, а >>
вывод будет добавлен в файл.
Используйте команду cat
для просмотра содержимого файла:
cat /tmp/file.txt
Hello.
Noviello
echo
также может отображать переменные. В следующем примере мы напечатаем имя текущего пользователя, вошедшего в систему:
echo $USER
noviello
$USER
— это переменная оболочки, которая содержит ваше имя пользователя.
Чтобы просмотреть вывод echo
-команды, используйте выражение $(command)
. Следующая команда отобразит текущую дату:
echo "The date is: $(date +%D)"
The date is: 01/13/19
Используйте escape-последовательности ANSI, чтобы изменить цвета переднего плана и фона или задать свойства текста, такие как подчеркивание и полужирный шрифт.
echo -e "\033[1;37mWHITE"
echo -e "\033[0;30mBLACK"
echo -e "\033[0;34mBLUE"
echo -e "\033[0;32mGREEN"
echo -e "\033[0;36mCYAN"
echo -e "\033[0;31mRED"
echo -e "\033[0;35mPURPLE"
echo -e "\033[0;33mYELLOW"
echo -e "\033[1;30mGRAY"
Вывод
Вы должны хорошо понимать, как работает команда echo
.