Команда echo, пожалуй, одна из первых, которые вы видите, когда начинаете изучать команды Linux или сценарии оболочки bash.
Это простая команда, которая просто выводит свои аргументы на дисплей.
destroyer@andreyex:~$ echo Hello World
Hello World
Вы можете догадаться, почему эта команда называется «echo». Как и звуковое эхо, команда также просто печатает то, что получает на входе.
Echo часто используется в сценариях оболочки для отображения информации, такой как запрос пользователя на ввод данных или отображение ошибки или предупреждения для определенного действия в сценарии.
Команда echo имеет простой синтаксис с несколькими опциями:
echo [опции] [входная строка]
Давайте посмотрим несколько примеров команды echo:
Допустим, вы объявили переменную var = 100. Вы можете отобразить значение этой переменной с помощью команды echo:
echo Значение переменной var равно $var
Его вывод будет отображаться так:
Значение переменной var равно 100
По умолчанию выходные данные команды echo добавляют новую строку к выходным данным, чтобы выходные данные отображались в одной целой строке.
destroyer@andreyex:~$ echo Привет Мир
Привет Мир
Вы можете подавить этот символ новой строки, используя опцию -n:
destroyer@andreyex:~$ echo Привет Мир
Привет Мирdestroyer@andreyex:~$
Вы можете использовать команду echo, чтобы создать новый файл в Linux или добавить новый текст в существующий файл, перенаправив вывод в файл:
echo "Этот текст идет в файл" >> file.txt
Опция -e с echo позволяет вам интерпретировать escape-символы. С помощью escape-символов вы можете отображать текст на экране другим способом по вашему выбору.
Следующие escape-символы доступны с escape:
В то время как опция -e просит команду echo интерпретировать escape-символы, опция -E делает обратное и игнорирует escape-символы.
Теперь давайте посмотрим, как использовать некоторые из этих escape-символов с командой echo.
echo -e "Око за оком оставляет весь мир слепым\n\t- Ганди"
Можете ли вы угадать, какой будет вывод команды выше? Вот:
Око за оком оставляет весь мир слепым
— Ганди
Давайте посмотрим некоторые другие примеры escape-символов. Символ возврата каретки печатает только текст после этого символа.
destroyer@andreyex:~$ echo -e “Привет\rМир”
Мир
Если вы используете символ возврата, он удалит один символ перед ним:
destroyer@andreyex:~$ echo -e “Привет \bМир”
ПриветМир
Вы можете играть с другими escape-символами таким же образом.
Работа с одинарными и двойными кавычками часто является головной болью.
Если у вас есть одинарная кавычка в тексте, который вы хотите отобразить, вы должны заключить весь ввод в двойные кавычки:
destroyer@andreyex:~$ echo “Это мой мир”
Это мой мир
Если вы хотите отобразить двойные кавычки, вы должны «избежать» этого:
destroyer@andreyex:~$ echo “Это \”мой\” мир”
Это “мой” мир
Вы, вероятно, используете команду ls для отображения файлов в каталоге . Вы также можете использовать команду echo для этой цели.
Чтобы отобразить содержимое текущего каталога, вы можете использовать эту команду:
echo *
Вы также можете использовать команду echo для отображения файлов только определенного типа:
echo *.txt
Мы уже показали этот совет для очистки файлов журналов в Linux. Если у вас есть текстовый файл, и вы хотите очистить его содержимое, не удаляя сам файл, вы можете использовать команду echo следующим образом:
echo > filename
Вы, вероятно, натолкнулись на какой-нибудь bash-скрипт, отображающий вывод текста другим цветом. Задумывались ли вы, как это делается? Позвольте нам показать вам это.
Вы можете использовать escape-последовательность ANSI и изменить внешний вид вывода, например, цвет фона, подчеркивание, полужирный и т. д.
Чтобы изменить цвет выходного текста, вы можете использовать эти:
echo -e “\033[30mЭто Черный”
echo -e “\033[31mЭто Красный”
echo -e “\033[32mЭто Зеленый”
echo -e “\033[33mЭто Желтый”
echo -e “\033[34mЭто Синий”
echo -e “\033[35mЭто Пурпурный”
echo -e “\033[36mЭто Голубой”
echo -e “\033[37mЭто Белый”
\033[представляет ESC[ в приведенных выше командах.
Ну вот и все. Мы думаем, что вы увидели множество примеров команды echo в Linux. Если вы используете echo для каких-то конкретных целей, которые могут быть полезны для других, поделитесь им с нами в разделе комментариев.