Примеры чтения переменных для скриптов оболочки Linux

Вы наверное знаете, что мы можем задавать переменные внутри скриптов оболочки, чтобы обойтись без так называемого hard coding. Ниже — размерем как мы можем задавать значения для этих переменных.

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

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

Изучаем команду READ на примерах

Синтаксис команды READ

для доступа к переменной указанной выше используется “$” или команда echo — если вы хотите вывести значение этой переменной.

Несколько примеров часто возникающих ситуаций использования команды READ

Пример 1: Чтение значения введенного пользователем. Для отображения этого значения используется echo, как уже было сказано ранее.

Вывод:

Пример 2: Команда read может читать одно, два, и т.д. значений за раз.

Вывод:

Пример 3: Мы можем использовать команду read для чтения элементов из массива. Убедитесь что отделили каждый элемент пробелом. По умолчанию в оболочке используются пробелы для разделения элементов массива.

Для вывода первого элемента массива делаем так:

Вывод:

Пример 4: Мы можем прочесть множество значений из команды

Пример 5: До этого момента мы увидели только ввод некоторых данных для данной переменной. Но при вводе данных мы можем предоставить некоторые значимые подсказки для пользователя. Этого можно добиться с помощью команд echo и read

Пример:

Вывод:

Пример 6: Мы можем активировать echo и читать команду из приведенного выше примера с опцией -p для чтения. Этот параметр печатает полезное сообщение для пользователя.

Еще несколько примеров использования опции -p

Вывод:

Пример 7: У read есть встроенная переменная называемая REPLY. Это системная переменная которая хранит значение в $REPLY.

Пример 8: Как получить некоторое значение не отображая вывод в терминале? Используйте -s которое подавляет вывод echo.

Вывод:

 

Автор: Mirivlad

Скромный труженик консоли и окошек.

Комментарии: