что значит echo linux
Основы Bash-скриптинга для непрограммистов. Часть 2
В первой части статьи мы рассмотрели командные оболочки, профили, синонимы и первые команды. Под спойлером я также рассказал, как развернуть тестовую виртуальную машину.
В этой части речь пойдет о файлах скриптов, их параметрах и правах доступа. Также я расскажу про операторы условного выполнения, выбора и циклы.
Скрипты
Для выполнения нескольких команд одним вызовом удобно использовать скрипты. Скрипт – это текстовый файл, содержащий команды для shell. Это могут быть как внутренние команды shell, так и вызовы внешних исполняемых файлов.
Перейдем в домашнюю директорию командой cd
и создадим в ней с помощью редактора nano ( nano script.sh )файл, содержащий 2 строки:
Чтобы выйти из редактора nano после набора текста скрипта, нужно нажать Ctrl+X, далее на вопрос «Save modified buffer?» нажать Y, далее на запрос «File Name to Write:» нажать Enter. При желании можно использовать любой другой текстовый редактор.
Проверим права доступа к файлу:
Из вывода команды ls видно, что отсутствуют права на выполнение. Рассмотрим подробнее на картинке:
Права доступа задаются тремя наборами: для пользователя, которому принадлежит файл; для группы, в которую входит пользователь; и для всех остальных. Здесь r, w и x означают соответственно доступ на чтение, запись и выполнение.
/.profile), либо для всех пользователей в общесистемный профиль (файл /etc/profile).
Чтобы выдать права на чтение и выполнение пользователю и группе:
Чтобы запретить доступ на запись (изменение содержимого) файла всем:
Также для указания прав можно использовать маску. Например, чтобы разрешить права на чтение, запись, выполнение пользователю, чтение и выполнение группе, и чтение – для остальных, нужно выполнить:
Указывая 3 цифры, мы задаем соответствующие маски для каждой из трех групп. Переведя цифру в двоичную систему, можно понять, каким правам она соответствует. Иллюстрация для нашего примера:
Символ – перед наборами прав доступа указывает на тип файла ( – означает обычный файл, d – директория, l – ссылка, c – символьное устройство, b – блочное устройство, и т. д.). Соответствие числа, его двоичного представления и прав доступ можно представить в виде таблицы:
Что значит echo linux
Команда echo является встроенной командой командной оболочки, позволяющей выводить произвольные строки (вы можете обнаружить аналоги данной команды в таких языках программирования, как Perl и PHP). Стоит упомянуть о том, что в подавляющем большинстве систем по умолчанию также установлена одноименная утилита, предназначенная для той же цели, но работающая немного по-другому. По этой причине следует всегда использовать либо встроенную команду, либо внешнюю утилиту.
Базовый синтаксис команды выглядит следующим образом:
$ echo [параметры] строка
Строка может быть представлена как в форме множества аргументов-слов, так и в форме одного аргумента, причем в этом случае при наличии в ней пробелов она должна помещаться в двойные кавычки. Команда поддерживает ровно два параметра, а именно, параметр -n, позволяющий не использовать символ перехода на новую строку после вывода строки и параметр -e, позволяющий обрабатывать управляющие последовательности в рамках строки. Команда поддерживает следующие управляющие последовательности:
Последовательность | Назначение |
\b | Удаление предыдущего символа |
\\ | Вставка символа слэша |
\n | Вставка символа перехода на новую строку |
\r | Вставка символа возврата каретки |
\t | Вставка символа табуляции |
\v | Вставка символа вертикальной табуляции |
\0NNN | Вставка ASCII-символа номер NNN (номер задается в восьмеричном формате) |
Помимо этого команда может использоваться для вывода значений переменных в сценариях.
Примеры использования
Вывод строки
Для простого вывода строки команда может использоваться без каких-либо параметров:
Аналогичная команда с единственным аргументом:
Основы Bash-скриптинга для непрограммистов
Статья рассчитана на тех, кто не имеет или имеет мало опыта работы с командной строкой Unix/Linux, но желает научиться с ней эффективно взаимодействовать и разрабатывать скрипты для выполнения своих задач. Приведенные примеры справедливы для выполнения в командной оболочке bash операционной системы Ubuntu/Debian, но могут быть использованы и в других оболочках и ОС с учетом их специфики.
1. Командные оболочки
Существует множество дистрибутивов(форков) операционных систем(ОС) семейства Linux, наиболее известные среди них: Ubuntu, Debian, CentOS, Red Hat, Fedora, SuSE, FreeBSD, Mint.
Здесь есть большая схема со всеми форками Linux.
В каждой ОС существуют различные командные оболочки (shell), их назначение одинаково (администрирование, автоматизация, вычисления, мониторинг и т.д.), как и большинство основных команд, но реализация может отличаться. В таблице ниже приведено сравнение, в котором видно, что некоторые возможности поддерживаются не всеми оболочками.
Feature
Bourne
Korn
Bash
Редактор командной строки
Расширенные шаблоны файлов
Автозавершение имени файла
Стеки директорий (pushd and popd)
Исправление ошибок в командах
Формат приглашения командной строки
Список доступных командных оболочек можно получить командой
2. Настройка тестовой среды
Если у вас уже есть виртуальная/реальная машина с установленным Linux, или вы знаете, как её настроить, то можно пропустить информацию из спойлера ниже. Если есть доступ по ssh к какому-либо серверу, то Вы также можете использовать его shell для тренировок. Используйте имеющийся доступ с осторожностью, не тренируйтесь на продуктовых(промышленных) серверах и других критичных окружениях. Если вы не хотите развертывать виртуальную машину(ВМ), то для тестов можно воспользоваться онлайн-терминалами, но нужно знать и учитывать их особенности и ограничения. Примеры онлайн-терминалов:
https://cocalc.com/app?anonymous=terminal
https://www.tutorialspoint.com/execute_bash_online.php
https://rextester.com/l/bash_online_compiler
Развертывание виртуальной машины
VirtualBox – ПО для виртуализации, позволяющее запускать одну ОС «внутри» другой. Разумеется, существуют и другие способы развертывания ВМ, здесь мы рассмотрим лишь один из них. В данном случае, предполагается, что у вас ПК под управлением Windows или Mac. Для начала нужно скачать VirtualBox отсюда и установить его.
Также нужно скачать образ ВМ с установленной ОС Ubuntu отсюда. Качайте самую новую версию, убедитесь, что скачиваемый образ имеет формат VirtualBox (VDI).
Создадим виртуальную машину. Сначала создаем на локальном диске папку для размещения в ней ВМ и их файлов (у меня C:\vmachines). Распакуем скачанный образ диска ВМ в созданную папку:
В открывшемся окне указываем имя ВМ (тип и версия в большинстве случаев подтягиваются автоматически, если это понятно из имени), а также созданную нами папку. Объем оперативной памяти устанавливается автоматически, 1Гб достаточно для выполнения тестов. Выбираем «Использовать существующий виртуальный жесткий диск», нажимаем значок выбора образа жесткого диска, в открывшемся окне нажимаем «Добавить», выбираем распакованный ранее файл образом ВМ и нажимаем «Открыть»:
И нажимаем «Создать»:
Выбираем в списке созданную ВМ и нажимаем «Запустить»:
После запуска ВМ появится окно для входа в ОС:
Выбираем учетную запись osboxes.org и вводим пароль osboxes.org. После входа в систему нажимаем Ctrl+Alt+T, у нас откроется окно терминала, в котором можно выполнять тесты:
Создадим тестового пользователя.
На данном этапе уже можно использовать тестовую среду, выполняя команды в терминале (Ctrl+Alt+T). Дополнительно можно настроить подключение по ssh клиентом (например, PuTTY), мы рассмотрим это отдельно.
3. Первые команды
Итак, мы подключились к терминалу и находимся в shell. Давайте сориентируемся в пространстве. Чтобы узнать имя машины(сервера), на которой мы находимся, введем hostname и нажмем Enter:
Имя пользователя, под которым мы подключены, как правило отображается в приглашении командной строки (test@osboxes:
Команда cat выводит содержимое файла (часть строк в приведенном выводе пропущена и заменена на …). Из файла видим, что для пользователя test указана оболочка /bin/dash. Изменить оболочку текущего пользователя, которая будет загружаться по умолчанию, можно следующей командой(chsh – сокращенное от change shell):
Теперь давайте проверим, в каком каталоге мы находимся, для этого выполним команду pwd :
Для команды ls с параметрами может быть задан синоним (alias), что упрощает её ввод. Список уже заданных синонимов можно получить командой alias :
Алиасы задаются в файле
) означает домашнюю директорию пользователя. В нашем случае /home/test. Также можно задать их в файле
/.bashrc. Здесь нужно сказать пару слов об этих файлах.
При запуске bash в качестве оболочки, сначала выполняется файлы (в случае их наличия), в которых могут быть заданы различные настройки профиля и выполнены различные действия в процессе входа до появления командной строки: сначала выполняется файл /etc/profile, далее bash последовательно ищет и выполняет первый из найденных файлов в следующем порядке:
/.profile. Из указанных файлов могут вызываться и другие.
Так, например, из файла
./profile вызывается файл
Некоторые внутренние команды bash дублированы в виде исполняемых файлов. Это сделано, чтобы скрипты можно было корректно выполнять в оболочках, в которых не реализованы эти команды. Например, существует исполняемый файл /usr/bin/echo, который реализует функционал внутренней команды echo. Команда help echo выведет справку по внутренней команде, а команда /usr/bin/echo –help выведет справку для соответствующего исполняемого файла. Вывод справки для этих команд отличается, но в целом они реализуют идентичный функционал.
Таким образом, если в оболочке не реализована внутренняя команда echo, скрипт, содержащий вызов echo, сможет успешно выполниться, т.к. для обработки вызова будет использован исполняемый файл /usr/bin/echo. Для поиска выполненных ранее команд можно использовать клавиши «Вверх» и «Вниз», команды из истории можно редактировать и повторно выполнять. В конце статьи приведен список полезных команд.
Если данный материал интересен, то в продолжении статьи я расскажу про скрипты и их параметры, права доступа к файлам, операторы условного выполнения, выбора и циклы, функции и планировщик заданий.
Команда echo
Команда echo выводит текст. Это одна из базовых команд, которая есть в большинстве операционных систем. Она часто используется в скриптах, пакетных файлах, в качестве дополнения к другим командам и везде, где вам может потребоваться вывод текстовой информации.
Важно: в данном руководстве мы будем рассматривать отдельную программу, /bin/echo. В большинстве командных оболочек, таких как bash, ksh и csh, echo
реализована как встроенная команда. Она работает аналогичным образом, но опции могут немного отличаться. Если вы пользуетесь оболочкой bash, то используемый по умолчанию вариант программы можно определить командой type:
Чтобы запустить именно отдельную программу, а не встроенную в оболочку, нужно указать для нее полный путь:
Синтаксис
Опции
Эти опции указываются перед строкой и задают поведение команды:
-n не выводить символ начала новой строки после окончания вывода.
-e включить интерпретацию управляющих последовательностей (рассмотрены ниже).
-E отключить интерпретацию управляющих последовательностей. Режим по умолчанию.
—help вывести справочное сообщение и выйти.
—version вывести информацию о версии и выйти.
Управляющие последовательности
Если указать опцию -e, в строке будут определяться следующие управляющие последовательности:
\\ символ обратного слэша (\)
\a звуковое уведомление
\b удаление предыдущего символа
\c прекратить дальнейший вывод
\e символ Escape, эквивалент нажатия одноименной клавиши
\f перевод страницы
\n новая строка
\r возврат каретки
\t горизонтальная табуляция
\v вертикальная табуляция
Примеры
Ввод текстовой строки и ее вывод в стандартный поток вывода:
Результат следующей команды аналогичный:
Однако, различие заключается в том, что первая команда воспринимает каждую строку как отдельный аргумент, а вторая воспринимает всю строку в кавычках как единое целое. В этом случае все специальные символы не интерпретируются и выводятся буквально.
Например, в оболочке bash переменные начинаются с символа доллара. В следующей команде символ доллара в кавычках выводится буквально, а вне кавычек — интерпретируется как начало имени переменной, поэтому выводится ее значение:
По умолчанию управляющие последовательности не интерпретируются:
Для их интерпретации нужно указать опцию -e:
Последовательность ‘\n’ — это символ начала новой строки:
Последовательность ‘\t‘ разделяет выводимые данные горизонтальной табуляцией:
Попробуем одновременно указать символ новой строки ‘\n‘ и горизонтальной табуляции ‘\t‘:
Последовательность ‘\v‘ задает вертикальную табуляцию:
Символы новой строки и табуляции можно указывать в любом необходимом количестве.
Управляющая последовательность ‘\r‘ — это имитация возврата каретки:
Последовательность ‘\c‘ прекращает вывод в указанном месте и не выводит символ новой строки:
Управляющая последовательность ‘\a‘ вызывает звуковой сигнал:
Убедитесь, что у вас включен звук.
Опция ‘-n’ просто исключает вывод символа новой строки в конце выполнения команды:
Для вывода в файл, а не в стандартный поток вывода, можно использовать команду echo с оператором перенаправления:
Заключение
Команда echo совсем простая, и у нее мало опций, но свою функцию она полностью выполняет. Она элементарна в освоении — достаточно просто повторить приведенные примеры. Но при необходимости всегда можно обратиться к соответствующей man-странице для получения исчерпывающих подробностей.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Команда echo в Linux: 7 практических примеров
Главное меню » Операционная система Linux » Команда echo в Linux: 7 практических примеров
Это простая команда, которая просто выводит свои аргументы на дисплей.
$ echo Hello World
Hello World
Вы можете догадаться, почему эта команда называется «echo». Как и звуковое эхо, команда также просто печатает то, что получает на входе.
Примеры команды echo в Linux
Echo часто используется в сценариях оболочки для отображения информации, такой как запрос пользователя на ввод данных или отображение ошибки или предупреждения для определенного действия в сценарии.
Команда echo имеет простой синтаксис с несколькими опциями:
Давайте посмотрим несколько примеров команды echo:
1. Отображение значения переменной
Допустим, вы объявили переменную var = 100. Вы можете отобразить значение этой переменной с помощью команды echo:
Его вывод будет отображаться так:
Значение переменной var равно 100
2. Не печатайте последний символ новой строки
По умолчанию выходные данные команды echo добавляют новую строку к выходным данным, чтобы выходные данные отображались в одной целой строке.
$ echo Привет Мир
Привет Мир
$ echo Привет Мир
Привет Мирdestroyer@andreyex:
3. Перенаправить вывод в файл
Вы можете использовать команду echo, чтобы создать новый файл в Linux или добавить новый текст в существующий файл, перенаправив вывод в файл:
3. Использование escape-символов с командой echo
Следующие escape-символы доступны с escape:
Теперь давайте посмотрим, как использовать некоторые из этих escape-символов с командой echo.
Можете ли вы угадать, какой будет вывод команды выше? Вот:
Око за оком оставляет весь мир слепым
– Ганди
Давайте посмотрим некоторые другие примеры escape-символов. Символ возврата каретки печатает только текст после этого символа.
Если вы используете символ возврата, он удалит один символ перед ним:
Вы можете играть с другими escape-символами таким же образом.
4. Отображение текста с одинарными или двойными кавычками с помощью команды echo
Работа с одинарными и двойными кавычками часто является головной болью.
Если у вас есть одинарная кавычка в тексте, который вы хотите отобразить, вы должны заключить весь ввод в двойные кавычки:
$ echo “Это мой мир”
Это мой мир
Если вы хотите отобразить двойные кавычки, вы должны «избежать» этого:
$ echo “Это \”мой\” мир”
Это “мой” мир
5. Показать файлы в каталоге
Чтобы отобразить содержимое текущего каталога, вы можете использовать эту команду:
Вы также можете использовать команду echo для отображения файлов только определенного типа:
6. Используйте команду echo для очистки файла в Linux
Мы уже показали этот совет для очистки файлов журналов в Linux. Если у вас есть текстовый файл, и вы хотите очистить его содержимое, не удаляя сам файл, вы можете использовать команду echo следующим образом:
Бонусный совет: отображение вывода команды echo в цвете
Вы, вероятно, натолкнулись на какой-нибудь bash-скрипт, отображающий вывод текста другим цветом. Задумывались ли вы, как это делается? Позвольте нам показать вам это.
Вы можете использовать escape-последовательность ANSI и изменить внешний вид вывода, например, цвет фона, подчеркивание, полужирный и т. д.
Чтобы изменить цвет выходного текста, вы можете использовать эти:
\033[представляет ESC[ в приведенных выше командах.
Ну вот и все. Мы думаем, что вы увидели множество примеров команды echo в Linux. Если вы используете echo для каких-то конкретных целей, которые могут быть полезны для других, поделитесь им с нами в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.