В Linux команда echo
, выводящая строку текста в терминал, обычно используется в скриптах для отображения сообщения или вывода результатов других команд.
Содержание
Синтаксис
echo [-neE] [ARGUMENTS]
Опции
- -n
- Подавить завершающий символ новой строки
- -e
- Включить интерпретацию escape-последовательностей
- -E
- Отключить интерпретацию escape-последовательностей
При указании опции -e
будут интерпретированы следующие символы, экранированные обратной косой чертой:
- \
- Отображает обратную косую черту
- a
- Оповещение (BEL)
- b
- Отображает символ возврата на одну позицию
- c
- Подавляет любой дальнейший вывод
- e
- Отображает escape-символ
- f
- Отображает символ перевода страницы
- n
- Отображает новую строку
- r
- Отображает возврат каретки
- t
- Отображает горизонтальную вкладку
- v
- Отображает вертикальную вкладку
В соответствии с хорошей практикой рекомендуется заключать аргументы, передаваемые в команде, в двойные или одинарные кавычки.
Примеры использования echo
Вывод на экран строки текста
oleg@mobile:~:$ echo Hi, guys!
Hi, guys!
Вывод значения переменной
Объявление переменной:
oleg@mobile:~:$ export VAR=Hi!
Вывод значения:
oleg@mobile:~:$ echo Приветствие - $VARAR=Hi!
Приветствие - Hi!
Использование опции -e
Использование опции -e
для включения интерпретации escape-последовательностей:
oleg@mobile:~:$ echo -e "Вам ли, любящим баб да блюда, \nжизнь отдавать в угоду?! \nЯ лучше в баре блядям буду \nподавать ананасную воду!"
Вам ли, любящим баб да блюда,
жизнь отдавать в угоду?!
Я лучше в баре блядям буду
подавать ананасную воду!
Последовательность \n
позволила выполнить перевод фрагментов текста на новую строку.
Аналогичным образом используются и другие последовательности.
Можно перенаправить вывод не на экран, а в файл:
oleg@mobile:~:$ echo -e "Вам ли, любящим баб да блюда, \nжизнь отдавать в угоду?! \nЯ лучше в баре блядям буду \nподавать ананасную воду!" >> example.txt
Проверяем:
oleg@mobile:~:$ cat example.txt
Вам ли, любящим баб да блюда,
жизнь отдавать в угоду?!
Я лучше в баре блядям буду
подавать ананасную воду!
Если файл не существует, то он будет создан командой echo
.
При использовании символа >>
вывод будет добавлен в файл.
При использовании символа >
файл будет перезаписан.
Вывод переменных оболочки
Команда echo
позволяет выводить на экран переменные оболочки:
oleg@mobile:~:$ echo $USER
oleg
В данном случае $USER
является переменной оболочки.
Отображение в цвете
Escape-последовательности ANSI позволяют установить цвет переднего плана и фона, стиль текста.
"\033[1;37mWHITE"
"\033[0;30mBLACK"
"\033[0;34mBLUE"
"\033[0;32mGREEN"
"\033[0;36mCYAN"
"\033[0;31mRED"
"\033[0;35mPURPLE"
"\033[0;33mYELLOW"
"\033[1;30mGRAY"
Заключение
Представленная здесь команда Linux echo
может быть вам очень полезной. Она позволяет решать многие задачи, в том числе и при написании скриптов.