Linux 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 .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Linux echo перенос строки

Сижу туплю. Точнее сообразить не могу. Надо при выводе командой echo строки разделить символом перевода строки.
Например
echo $Name \n $Pass
Помогите найти символ. Пожалуйста помогите. \n пробовал, символ \ непечатает, а n печатает.

Рекомендовать в FAQ | Cообщить модератору | Наверх

Читайте также:  Заблокирован windows как войти
Оглавление

  • Перевод строки в echo., Brainbug, 17:31 , 02-Ноя-04, (1)
    • Перевод строки в echo., Страусъ, 17:35 , 02-Ноя-04, (2)
      • Перевод строки в echo., kir, 12:56 , 10-Ноя-04, (3)
        • Перевод строки в echo., regunkov, 15:29 , 12-Ноя-04, (4)
          • Перевод строки в echo., Страусъ, 17:05 , 12-Ноя-04, (5)
            • Перевод строки в echo., kir, 12:09 , 15-Ноя-04, ( 6 )
  • Перевод строки в echo., chip, 18:39 , 15-Ноя-04, ( 7 )
    • Перевод строки в echo., Страусъ, 08:32 , 16-Ноя-04, ( 8 )
      • Перевод строки в echo., chip, 10:23 , 16-Ноя-04, ( 9 )

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

>Сижу туплю. Точнее сообразить не могу. Надо при выводе командой echo строки
>разделить символом перевода строки.
>Например
>echo $Name \n $Pass
>Помогите найти символ. Пожалуйста помогите. \n пробовал, символ \ непечатает, а n
>печатает.

[test@test test]# echo -e «Test\nTest»
Test
Test

1. «Перевод строки в echo.»
Сообщение от Brainbug (ok) on 02-Ноя-04, 17:31 (MSK)
Рекомендовать в FAQ | Cообщить модератору | Наверх

2. «Перевод строки в echo.»
Сообщение от Страусъ (??) on 02-Ноя-04, 17:35 (MSK)

>>Сижу туплю. Точнее сообразить не могу. Надо при выводе командой echo строки
>>разделить символом перевода строки.
>>Например
>>echo $Name \n $Pass
>>Помогите найти символ. Пожалуйста помогите. \n пробовал, символ \ непечатает, а n
>>печатает.
>
>[test@test test]# echo -e «Test\nTest»
>Test
>Test

Благодарю. Заработало. Ступил 🙂
Проверял под csh. Там не работает. А вот в sh все пуком.

Рекомендовать в FAQ | Cообщить модератору | Наверх

3. «Перевод строки в echo.»
Сообщение от kir (??) on 10-Ноя-04, 12:56 (MSK)

насколько я помню в freebsd echo -e неработает
а что бы перевести строну можно использовать printf вместо echo

Рекомендовать в FAQ | Cообщить модератору | Наверх

4. «Перевод строки в echo.»
Сообщение от regunkov (ok) on 12-Ноя-04, 15:29 (MSK)

>
> насколько я помню в freebsd echo -e неработает
>а что бы перевести строну можно использовать printf вместо echo

Как насчет
echo Test1; echo Test2

Рекомендовать в FAQ | Cообщить модератору | Наверх

5. «Перевод строки в echo.»
Сообщение от Страусъ (??) on 12-Ноя-04, 17:05 (MSK)

>>
>> насколько я помню в freebsd echo -e неработает
>>а что бы перевести строну можно использовать printf вместо echo
>
>Как насчет
>echo Test1; echo Test2

Рекомендовать в FAQ | Cообщить модератору | Наверх

6 . «Перевод строки в echo.»
Сообщение от kir (??) on 15-Ноя-04, 12:09 (MSK)

>>>
>>> насколько я помню в freebsd echo -e неработает
>>>а что бы перевести строну можно использовать printf вместо echo
>>
>>Как насчет
>>echo Test1; echo Test2
>
>тоже как вариант.
>Спасибо.

есть сложные выражение кторые ты на echo не построишь и единст выход printf

Рекомендовать в FAQ | Cообщить модератору | Наверх

7 . «Перевод строки в echo.»
Сообщение от chip (ok) on 15-Ноя-04, 18:39 (MSK)

Есть забавный документы повествующий о «разновидностях» echo .

Рекомендовать в FAQ | Cообщить модератору | Наверх

8 . «Перевод строки в echo.»
Сообщение от Страусъ (??) on 16-Ноя-04, 08:32 (MSK)

>Есть забавный документы повествующий о «разновидностях» echo .

А поподробнее можно?

Рекомендовать в FAQ | Cообщить модератору | Наверх

9 . «Перевод строки в echo.»
Сообщение от chip (ok) on 16-Ноя-04, 10:23 (MSK)

>>Есть забавный документы повествующий о «разновидностях» echo .
>
>А поподробнее можно?

хм. если бы я еще помнил где я его читал -) с радостью бы указал ссылку. Помимо описания различий объяснились исторические предпосылки.

Источник

Использование команды echo в Linux

Как известно, большинство действий в операционной системе Linux осуществляются через консоль. Пользователи задействуют специальные команды, отвечающие за выполнение определенных процессов, а заранее указанные опции позволяют собственными руками управлять дополнительными возможностями тех самых утилит. Одной из таких команд является echo, и сегодня мы хотим более детально рассказать об этой утилите, приведя несколько примеров ее использования.

Используем команду echo в Linux

Рассматриваемая сегодня команда echo имеет примитивный вид и узкопрофильное предназначение — выводить текст на экран. Однако это не мешает ей часто использоваться в различных скриптах и для других целей. Далее мы предлагаем вкратце ознакомиться с синтаксисом данной утилиты и разобрать самые популярные и простые примеры ее ввода в стандартной консоли.

Синтаксис echo

Практически каждая команда помимо основной своей функции может выполнять и другие действия с учетом указанных аргументов. echo не стала исключением в этом плане, однако из-за простоты самой команды расширенных опций существует не так уж и много. Давайте подробнее рассмотрим каждую из них, но сначала обратите внимание на стандартный вид строки: echo + опции + строка .

  • -n — не будет выводить перенос строки;
  • -e — отвечает за включение Escape-последовательностей;
  • -E — отключает интерпретацию Escape-последовательностей.

Отметим также, что Escape-последовательности — универсальные опции, представленные в виде символов. Каждая из них имеет определенное значение, и если вы включите интерпретацию при использовании команды echo, то можете задействовать такие аргументы:

  • /c — отвечает за удаление перевода строки;
  • /t — выводит горизонтальную табуляцию;
  • /v — создает вертикальную табуляцию;
  • /b — удаляет предыдущий символ в строке;
  • /n — включает перенос строки на новую;
  • /r — возвращает каретку в начало строки.

Еще раз уточним, что приведенные выше опции доступны к вводу только в тех ситуациях, когда вы изначально прописали аргумент -e в команде. Если есть необходимость, каждый этот символ можно проставить после любого из слов строки ввода, что мы покажем в следующих инструкциях.

Вывод простых строк

Как уже было сказано ранее, основное предназначение команды echo — вывод на экран строк. Именно об этом мы и хотим поговорить далее, рассмотрев несколько простых действий, которые помогут понять, как именно работают все основные опции утилиты.

  1. Запустите консоль удобным для вас образом, например через меню приложений или путем нажатия на горячую клавишу Ctrl + Alt + T. Здесь введите echo + любое слово или словосочетание, чтобы проверить стандартное действие команды. Активируется она нажатием на клавишу Enter.

Как видите, в новой строке отобразились только что введенные слова в точно таком же формате.

Если перед каждым словом вы добавите опцию \b , предыдущий символ будет стерт, а это значит, что результат выведется без пробелов, при условии, что мы имеем изначальный вид echo -e «Lumpics \bSite \bLinux» .

Мы проставили указанную опцию во всех словах, поэтому результат получился соответствующий.

Мы указали \n в двух словах, идущих после первого, следовательно, каждое из них будет отображаться в новой строке.

Перейдем к табуляции, использующейся для выравнивания текста. Вам достаточно будет прописать в необходимых местах \t , чтобы добиться нужного результата.

Как видно, к первому слову табуляция была применена дважды. Учитывайте это при выводе строк.

Дополнительно ничего не мешает указывать несколько опций последовательно, соблюдая правила ввода.

Так, например, на приведенном ниже скриншоте вы видите результат вывода с переносом и табуляцией одновременно.

В качестве последнего примера возьмем /v . Этот аргумент создает вертикальную табуляцию.

В результате получается каждое слово с новой строки и в виде ступенек.

Теперь вы знаете, что команда echo способна выводить заданные строки в любом виде, который можно реализовать путем указания соответствующих опций. Давайте перейдем к другим параметрам, чтобы вы понимали, какие из них стоит комбинировать в правильном формате.

Вывод значений переменной

Практически в каждом скрипте используются определенные переменные, в которые заранее устанавливается значение. Если речь идет об утилите echo, то она способна выводить те самые значения. Мы рассмотрим этот пример в одной терминальной сессии без предварительного создания самого скрипта. Это обозначает, что при перезапуске консоли значения будут стерты.

    Для начала создадим пробную переменную введя export I=Lumpics , где I — имя переменной, а Lumpics — ее значение.

Используйте echo $I , чтобы вывести в следующей строке значение обозначенной переменной.

Как видите, все отобразилось корректно.

Создадим еще одну переменную через export L=Linux .

Введем пробную команду echo $I Site $L .

Теперь вы знаете, что echo справляется с выводом двух и более переменных в формате одной строки.

В большинстве случаев подобный вывод переменных используется только при написании скриптов, однако подобная функция может пригодится, если планируется производить ряд одинаковых, зависимых от одного значения, действий в пределах одной терминальной сессии.

Присвоение цветов строке

Если вы активно используете консоль, то знаете, что каждое слово здесь может принять любой доступный цвет, а не только белый или черный (в зависимости от темы «Терминала»). echo тоже позволяет раскрашивать строки, а отвечают за это такие аргументы:

  • \033[30m — чёрный;
  • \033[31m — красный;
  • \033[32m — зелёный;
  • \033[33m — желтый;
  • \033[34m — синий;
  • \033[35m — фиолетовый;
  • \033[36m — голубой;
  • \033[37m — серый.

Имеется и ряд других аргументов, позволяющих изменить цвет фона надписи. Выглядит список похожим образом, но имеются различия в цифрах:

  • \033[40m — чёрный;
  • \033[41m — красный;
  • \033[42m — зелёный;
  • \033[43m — желтый;
  • \033[44m — синий;
  • \033[45m — фиолетовый;
  • \033[46m — голубой;
  • \033[47m — серый;
  • \033[0m — сбрасывает все значения до состояния по умолчанию.

Как вы уже поняли, эти аргументы придется применять к каждой строке, если в этом есть необходимость. Выглядит подобная структура так: echo -e «\033[33mLumpics \033[46mSite \033[41mLinux» .

Приведенный выше пример окрасил фон строки «Lumpics» в оранжевый цвет, а к «Site» и «Linux» дополнительно были активированы фоны разных цветов. Вы это видите на приведенном ниже скриншоте действия введенной команды.

Специальные символы Bash

Команда echo функционирует только в среде Bash, соответственно, она должна поддерживать стандартные опции этого окружения. В большинстве случаев они отвечают за сортировку файлов и вывод объектов текущего расположения.

    Введите в «Терминале» echo * , чтобы показать содержимое текущей папки.

Следующей строкой появится перечень абсолютно всех входящих директорий и элементов. Это будет стандартная строка без оформления. Однако теперь вы уже знаете, что ее можно видоизменить на основании примеров выше.

Укажите echo *.txt , если хотите отобразить только элементы обозначенного формата. Замените .txt на другой необходимый вариант.

В конце отметим, что echo выступает и для редактирования конфигурационных файлов, что осуществляется так: echo 1 > /proc/sys/net/ipv4/ip_forward . 1 — строка для внесения, а /proc/sys/net/ipv4/ip_forward — путь к нужному объекту.

В рамках сегодняшнего материала мы разобрались с использованием echo в операционной системе Linux. Если вас заинтересовала тема взаимодействия с популярными командами, дополнительно рекомендуем изучить статью по этой теме на нашем сайте, перейдя по указанным ниже ссылкам.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Читайте также:  Linux how to check filesystem
Оцените статью