- Команда ECHO — вывод текста на экран консоли
- echo (вывод на экран)
- Синтаксис
- Параметры
- Remarks
- Примеры
- Перенаправление содержимого файла на команду «эхо»
- Работа с файлами и файловой системой с помощью команды echo в Bash
- Как посмотреть содержимое папки с помощью команды echo
- Запись данных в файл с помощью команды echo
- Как записать данные в конец файл с помощью команды echo
- Как вывести содержимое файла командой echo
- Резюме
- Команда Echo в Linux с примерами
- эхо-команда
- echo Примеры
- Выводы
Команда ECHO — вывод текста на экран консоли
Команда ECHO наверно является одной из самых простых и самых используемых команд. Применяется для вывода текстовых сообщений на стандартный вывод и для переключения режима отображения команд на экране.
Формат командной строки:
ECHO [ON | OFF] — включить / выключить режим отображения вводимых команд на экране.
ECHO [сообщение] отобразить текст сообщения на экране.
ECHO — при вводе команды без параметров, отображается текущий режим отображения команд:
Режим вывода команд на экран (ECHO) включен.
Для вывода пустой строки, используется команда ECHO с точкой:
echo Hello World. — вывод сообщения Hello World. на экран.
echo %USERNAME% — вывод на экран значения переменной окружения USERNAME (имени текущего пользователя)
Наиболее распространено использование команды echo в командных файлах. Практически любой командный файл начинается командой
@echo off — отключить режим вывода команд на экран. Символ @ перед командой echo используется для того, чтобы на экран не выводился и текст самой команды.
Очень часто команда echo используется для записи сообщений в текстовый файл с использованием перенаправлением вывода:
echo Начало работы — %DATE% в %TIME% >logfile.txt
Echo ERORLEVEL=%ERRORLEVEL% >> logfile.txt
Echo Конец работы, %DATE% в %TIME% >>logfile.txt
В текстовый файл logfile.txt записывается дата и время начала работы командного файла, некоторые результаты и время завершения.
Нередко, команда echo используется для создания нового файла:
echo 1 >newfile.cmd — вывести символ «1» в файл newfile.cmd . Если такого файла не существует, он будет создан, если существует, то будет перезаписан.
Значения параметров командной строки, переменных и их подстановочных значений, также нередко отображаются с помощью команды echo . Пример командного файла, выводящего на экран информацию о себе:
@echo off
ECHO ОБРАБАТЫВАЕТСЯ ФАЙЛ — %0
ECHO Дата/время создания/изменения командного файла — %
t0
ECHO Путь командного файла — «%
f0″
ECHO Диск командного файла — %
d0
ECHO Каталог командного файла — «%
p0″
ECHO Имя командного файла — %
n0
ECHO Расширение командного файла — %
x0
ECHO Короткое имя и расширение — %
s0
ECHO Атрибуты командного файла — %
a0
ECHO Размер командного файла — %
При выводе служебных символов, интерпретируемых командным процессором нужно использовать символ ^ . Например, вместо значения переменной ERRORLEVEL, нужно вывести текст “%ERRORLEVEL%”
ECHO ^%ERRORLEVEL^% = %ERRORLEVEL%
Особенностью команды ECHO является добавление служебных символов возврата каретки и перевода строки 0x0D и 0x0A (Carriage Return и Line Feed) в конец выводимого текста. Командный файл следующего содержания выводит текст из 3-х строк:
Если же требуется вывести весь текст в одну строку, обычно используют эмуляцию команды ECHO командой SET с параметром /P, используемой для организации диалога с пользователем, когда выводится сообщение, на которое требуется ответ. Выводимое сообщение можно использовать таким же образом, как и в команде ECHO, а вместо ответа можно использовать ввод с фиктивного устройства nul :
При выполнении такого командного файла сообщение на экране будет представлено одной строкой:
Для подачи звуковых сигналов можно использовать вывод служебного символа с кодом 07 (BELL). Достаточно просто включить его в поток выходных данных, что зависит от возможностей редактора, который используется для написания командного файла. Можно использовать и стандартные возможности командной строки, добавив комбинацию CTRL+G :
Источник
echo (вывод на экран)
Отображает сообщения или включает или отключает функцию вывода команд. При использовании без параметров echo отображает текущее значение эха.
Синтаксис
Параметры
Параметр | Описание |
---|---|
[вкл. | Откл.] | Включает или выключает функцию вывода команд. Команда по умолчанию включена. |
Задает текст, отображаемый на экране. | |
/? | Отображение справки в командной строке. |
Remarks
echo Команда особенно полезна при отключенном эхо . Чтобы отобразить сообщение, которое содержит несколько строк без отображения команд, можно включить несколько echo команд после команды echo off в пакетной программе.
После выключения эхо Командная строка не отображается в окне командной строки. Чтобы отобразить командную строку, введите команду echo on.
Если используется в пакетном файле, Включение и вывод не влияют на параметр в командной строке.
Чтобы предотвратить вывод определенной команды в пакетном файле, вставьте @ знак перед командой. Чтобы предотвратить вывод всех команд в пакетном файле, включите команду echo off в начале файла.
Чтобы отобразить символ канала ( | ) или перенаправления ( или > ) при использовании эха, используйте знак крышки ( ^ ) непосредственно перед символом канала или перенаправления. Например,, ^| ^> или ^ ). Чтобы отобразить курсор, введите две крышки подряд ( ^^ ).
Примеры
Чтобы отобразить текущее значение echo , введите:
Чтобы вывести на экран пустую строку, введите:
Не включайте пробел перед точкой. В противном случае вместо пустой строки отображается точка.
Чтобы запретить вывод команд в командной строке, введите:
Когда эхо отключено, Командная строка не отображается в окне командной строки. Чтобы снова отобразить командную строку, введите команду echo on.
Чтобы предотвратить отображение на экране всех команд в пакетном файле (включая команду echo off ), в первой строке типа пакетного файла:
Команду echo можно использовать как часть оператора If . Например, чтобы найти в текущем каталоге любой файл с расширением. rpt и вывести сообщение при обнаружении такого файла, введите:
Следующий пакетный файл ищет в текущем каталоге файлы с расширением .txt File и выводит сообщение с указанием результатов поиска:
Если при выполнении пакетного файла не найдены .txt файлы, отображается следующее сообщение:
Если при выполнении пакетного файла будут обнаружены .txt файлы, отображаются следующие выходные данные (в этом примере предполагается, что файлы File1.txt, File2.txt и File3.txt существуют):
Источник
Перенаправление содержимого файла на команду «эхо»
У меня есть файл с именем my_file.txt , содержимое которого является просто строкой Hello . Как я мог перенаправить его содержимое в команду echo ?
Я знаю , что есть команды less , cat , more . но мне нужно сделать это с echo .
Я попробовал это:
Но в обоих случаях в stdout отображается только пробел, а не содержимое my_file.txt.
Как я мог это сделать?
Вы можете перенаправить все, что хотите, echo но с этим ничего не поделаешь. echo не читает свой стандартный ввод. Все, что он делает, это записывает в стандартный вывод свои аргументы, разделенные символом пробела и оканчивающиеся символом новой строки (и с некоторыми echo реализациями с некоторыми escape-последовательностями в них, расширенными и / или аргументами, начинающимися с, — возможно, обработанными как опции).
Если вы хотите echo отобразить содержимое файла, вы должны передать это содержимое в качестве аргумента echo . Что-то типа:
Обратите внимание , что $(. ) полосы тянущейся символ новой строки с с выхода этой cat команды, и echo добавляет одну задние.
Также обратите внимание, что кроме как zsh , вы не можете передавать NUL-символы в аргументах команды, так что описанное выше обычно не работает с двоичными файлами. yash также удалит байты, которые не являются частью допустимых символов.
Если причина для желания сделать это потому , что вы хотите , echo чтобы расширить \n , \b , \0351 . экранирующие последовательности в файле (в UNIX совместимые echo реализации делают, но не все ), то вы бы лучше использовать printf вместо :
В отличие от echo этого, он является переносимым и не будет иметь проблем, если содержимое файла начинается с — .
В качестве альтернативы $(cat file) , с ksh , zsh и bash , можно также сделать: $( . Это специальный оператор, в котором оболочка вместо cat содержимого читает файл для расширения. Он по-прежнему удаляет завершающие символы новой строки и заглушает байты NUL, кроме как в zsh . В том bash , что все еще разветвляется дополнительный процесс. Также обратите внимание, что одно отличие состоит в том, что вы не получите никакой ошибки, если попытаетесь прочитать файл типа directory таким образом. Кроме того, хотя он $( является особенным, $( это не так ( zsh если не эмулировать другую оболочку, это все равно расширило бы содержимое file , выполнив неявную $READNULLCMD команду (обычно это пейджер)).
Источник
Работа с файлами и файловой системой с помощью команды echo в Bash
В предыдущих статьях были рассмотрены темы о том, что может команда echo в плане вывода на экран результатов её выполнения. В этой статье я наконец-то добрался до того, что нужно лично мне, — до вопроса о том, как организовать запись в файл с помощью команды echo . Да, да! Это возможно! И я надеюсь, что в эту статью поместится информация не только об этом, а я вкратце затрону то, как с помощью всё той же команды посмотреть названия файлов в папке. и даже вывести их содержимое на экран. Но обо всём по порядку.
Как посмотреть содержимое папки с помощью команды echo
Сперва разберёмся с работой с файловой системой с помощью команды echo . В Linux есть конечно более удобные функции для работы со списком файлов и директорий. Команду tree мы рассмотрели ранее в → этой статье. Есть совсем заточенная только для этого команда ls . Но если хочется в Bash да ещё и командой echo вывести список файлов, то делается это просто:
выведет список файлов в текущей директории. Можно применить фильтр и вывести только файлы с определённым разрешением, например
Как-то так, но я предпочитаю для этих целей всё-таки пользоваться стандартной утилитой ls .
Запись данных в файл с помощью команды echo
Для того, чтобы записать какие-то данные в файл с помощью команды перенаправления вывода > *nix. Делается это так:
Теперь у нас появился файл test.txt с одной строкой:
Как записать данные в конец файл с помощью команды echo
Часто бывает так, что файл уже есть и в нём есть данные. И нужно что-то дописать в конец файла. Это также можно сделать с помощью команды echo и команды перенаправления вывода >> *nix. То есть используя две угловые скобки. Это не уничтожит данные в файле, а допишет данные в конец файла:
Посмотрим на результат:
Как видно, не нужно дополнительно прописывать символы переноса строки: дозапись осуществляется автоматически с новой строки.
Как вывести содержимое файла командой echo
Ну и последние несколько примеров того, как с помощью команды echo вывести на экран содержимое файла:
Как видно на примерах выше, способ неудобен тем, что переводы строк не выводятся на экран и всё сливается в одну строчку.
Но, в общем, всё это извращения и для вывода листинга вполне подходит команда cat и не нужно изобретать лишних велосипедов:
Резюме
На этом обзор команды echo пожалуй можно завершить до возникновения действительно нетривиальных задач.
Источник
Команда Echo в Linux с примерами
Команда echo — одна из самых основных и часто используемых команд в Linux. Аргументы, переданные в echo выводятся на стандартный вывод.
echo обычно используется в сценариях оболочки для отображения сообщения или вывода результатов других команд.
эхо-команда
echo — это оболочка, встроенная в Bash и большинство других популярных оболочек, таких как Zsh и Ksh. Его поведение немного отличается от оболочки к оболочке.
Существует также отдельная утилита /usr/bin/echo , но обычно встроенная версия оболочки имеет приоритет. Мы рассмотрим встроенную в Bash версию echo .
Синтаксис команды echo следующий:
- Когда используется опция -n , завершающий символ новой строки подавляется.
- Если задана опция -e будут интерпретироваться следующие символы, экранированные обратной косой чертой:
- \ — отображает обратную косую черту.
- a — Предупреждение (BEL)
- b — отображает символ возврата.
- c — подавить любой дальнейший вывод
- e — отображает escape-символ.
- f — отображает символ перевода страницы.
- n — отображает новую строку.
- r — отображает возврат каретки.
- t — отображает горизонтальную вкладку.
- v — отображает вертикальную вкладку.
- Параметр -E отключает интерпретацию escape-символов. Это значение по умолчанию.
При использовании команды echo следует учитывать несколько моментов.
- Оболочка заменит все переменные, сопоставление подстановочных знаков и специальные символы перед передачей аргументов команде echo .
- Хотя это и не обязательно, рекомендуется заключать аргументы, передаваемые в echo в двойные или одинарные кавычки.
- При использовании одинарных кавычек » буквальное значение каждого символа, заключенного в кавычки, будет сохранено. Переменные и команды расширяться не будут.
echo Примеры
В следующих примерах показано, как использовать команду echo:
Вывести строку текста на стандартный вывод.
Отобразите строку текста, содержащую двойные кавычки.
Чтобы напечатать двойную кавычку, заключите ее в одинарные кавычки или экранируйте символ обратной косой черты.
Отобразите строку текста, содержащую одинарную кавычку.
Чтобы напечатать одинарную кавычку, заключите ее в двойные кавычки или используйте кавычки ANSI-C .
Вывести сообщение, содержащее специальные символы.
Используйте параметр -e чтобы включить интерпретацию escape-символов.
Символы соответствия шаблону.
Команда echo может использоваться с символами сопоставления с образцом, такими как подстановочные знаки. Например, приведенная ниже команда вернет имена всех файлов .php в текущем каталоге.
Перенаправить в файл
Вместо отображения вывода на экране вы можете перенаправить его в файл с помощью операторов > , >> .
Если файл file.txt не существует, команда создаст его. При использовании > файл будет перезаписан, а символ >> добавит вывод в файл .
Используйте команду cat для просмотра содержимого файла:
Отображение переменных
echo также может отображать переменные. В следующем примере мы напечатаем имя текущего вошедшего в систему пользователя:
$USER — это переменная оболочки, в которой хранится ваше имя пользователя.
Отображение вывода команды
Используйте выражение $(command) чтобы включить вывод команды в аргумент echo . Следующая команда отобразит текущую дату :
Отображение в цвете
Используйте escape-последовательности ANSI, чтобы изменить цвета переднего плана и фона или установить свойства текста, такие как подчеркивание и полужирный шрифт.
Выводы
К настоящему времени вы должны хорошо понимать, как работает команда echo .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник