Сценарии оболочки — подстановка переменных
Оболочка — это интерфейс, который помогает пользователям подключаться к системе. Использование оболочки эквивалентно косвенному общению с операционной системой. В распределенных системах Linux каждый раз, когда мы используем терминал, мы подключаемся к оболочке. Задача оболочки — анализировать команды или инструкции Unix, данные пользователем. Этот процесс включает в себя получение команд от пользователя и преобразование их в форму, которую ядро может легко понять. Проще говоря, он действует как посредник между пользователем и ядром операционной системы. Ядро является наиболее важной частью операционной системы компьютера.
Чтобы понять подстановку переменных, давайте сначала обсудим подстановку в сценариях оболочки. Подстановка — это функция, следуя которой мы можем указать оболочке заменить фактическое значение выражения.
Замена escape-последовательностей:
Есть некоторые последовательности символов, которые не отражают их истинную природу, но имеют особое значение для операционной системы, и эти последовательности известны как управляющие последовательности. Когда они используются в команде, они заменяются фактическими значениями.
| Escape-последовательности | Значение |
|---|---|
| добавить новую строку | |
| т | горизонтальная вкладка |
| \ | обратная косая черта |
| б | назад |
| р | возврат каретки |
Пример:
В этом скрипте мы использовали две команды эха для печати строк. Как видите, мы использовали управляющую последовательность для новой строки ( ) в конце строки. Поскольку фактическая работа этого символа заключается в добавлении новой строки, следовательно, добавляется новая строка (четко видна в выводе). Кроме того, во втором утверждении мы использовали три горизонтальных символа табуляции в начале. Поскольку фактическая работа этого символа заключается в добавлении горизонтального пробела табуляции, поэтому перед выводом строки на консоль добавляются три горизонтальных пробела (четко видимые в выводе).
#!/bin/sh #statement 1 echo -e "GeeksforGeeks " # statement 2 echo -e " is the best"
Выход:

Замена переменной:
Оболочка позволяет нам манипулировать значением переменной на основе ее статуса инициализации. Под статусом инициализации мы подразумеваем, инициализируется ли переменная до того, как ее значение фактически используется для различных целей.
| Сэр Нет. | Выражение | Значение |
|---|---|---|
| 1 | ${моя переменная} | подставьте значение myVariable . |
| 2 | ${мояПеременная:-значение} | Если myVariable не задано (или равно null), то вместо myVariable заменяется значение. |
| 3 | ${мояПеременная:=значение} | Если myVariable не установлен (или имеет значение null), то ему присваивается значение. |
| 4 | ${мояПеременная:+значение} | Если установлена myVariable , значение заменяется на myVariable . |
| 5 | ${моя переменная:? сообщение} | Если myVariable не установлена (или равна нулю), то сообщение печатается как стандартная ошибка. |
Работа этих выражений была подробно рассмотрена в приведенном ниже сценарии:
Пример:
#!/bin/sh
# If myVariable is unset or null then
# assign 100 to it
echo ${myVariable:- 100}
echo "1. The value of myVariable is ${myVariable}"
# If myVariable is unset or null then
# assign "GeeksforGeeks" to it
echo ${myVariable:="GeeksforGeeks"}
echo "2. Value of myVariable is ${myVariable}"
# unset myVariable
unset myVariable
# If myVariable is set then substitute
# the value
echo ${myVariable:+"GeeksforGeeks"}
echo "3. Value of myVariable is $myVariable"
myVariable="GeeksforGeeks"
# If myVariable is set then substitute the value
echo ${myVariable:+"Nainwal"}
echo "4. Value of myVariable is $myVariable"
# If myVaraible is not-set or null then print
# the message
echo ${myVariable:?"Message"}
echo "5. Value of myVariable is ${myVariable}"
# unset myVariable
unset myVariable
# If myVaraible is not-set or null then print
# the message
echo ${myVariable:?"Message"}
echo "6. Value of myVariable is ${myVariable}"Выход:
