Логическое значение может содержать два типа данных. Это True или 1 и False или 0. Bash не поддерживает логические значения, но любая переменная bash может содержать 0 или » истина » и 1 или » ложь «. Логические логические операторы поддерживаются bash. Логическое значение необходимо использовать, когда скрипту необходимо сгенерировать вывод на основе значения True или False переменной. В этом руководстве показан способ объявления и использования логических значений в сценарии bash.
Пример 1: объявить логическую переменную с использованием 0 или 1
В этом примере показан способ использования логических значений 0 и 1 в переменной bash. Создайте файл bash со следующим сценарием, который будет печатать сообщение на основе значения переменной, которая будет содержать 0 или 1. Два числовых значения будут приняты в качестве MCQ и описательных меток. Если значение переменной mcq больше и равно 60, а значение переменной des больше и равно 50, то значение переданной переменной будет установлено на 1; в противном случае этой переменной будет присвоено значение 0. Затем переданная переменная будет проверена, чтобы напечатать сообщение об успешном выполнении или сообщение об ошибке.
#!/bin/bash
# Using 0 or 1 for declaring boolean values
#Take an integer value for MCQ marks
echo «Enter MCQ marks:»
read mcq
#Take an integer value for descriptive marks
echo «Enter Descriptive marks:»
read des
#Check the passing marks
if [[ $mcq>=60 && $des>=50 ]]; then
#Set 1 for true
passed=1
else
#Set 0 for false
passed=0
fi
#Print message based on the value of $passed
if [ $passed -eq 1 ]; then
echo «You have passed the exam.»
else
echo «You have failed the exam.»
fi
Выход:
Судя по выходным данным, указанный выше сценарий был выполнен два раза. 70 было присвоено как MCQ, а 65 было дано как описательное при первом выполнении. Оба значения возвращают истину для условного выражения, а 1 установлено для переданной переменной. 40 было дано как отметка MCQ, а 80 было дано как описательная отметка во втором исполнении. Из условного выражения для 40 было возвращено false, а для переданной переменной было установлено значение 0. «Вы сдали экзамен» печатается, когда значение переданной переменной равно 1, и » Вы не сдавали экзамен » печатается, когда значение переданной переменной равно 0.
Пример 2: объявить логическую переменную с использованием «истина» или «ложь»
В этом примере показан способ использования логического значения в качестве строки в сценарии bash. Создайте файл bash со следующим сценарием для аутентификации пользователя и определения типа пользователя с помощью значений » истина » и » ложь «. Имя пользователя и пароль будут взяты у пользователя после выполнения скрипта. Значение переменной администратора инициализировано равным » false «, и оно будет установлено в » true «, когда будут предоставлены действительные имя пользователя и пароль, а имя пользователя — „admin“. Затем значения допустимой переменной и переменной администратора будут проверены, чтобы напечатать приветственное сообщение или сообщение об ошибке.
#!/bin/bash
# Using “true” or “false” for declaring boolean values
#Take the username
echo «Enter username:»
read username
#Take the password
echo «Enter password:»
read password
administrator=«false»
#Check username and password
if [[ $username == «admin» && $password == «secret» ]]; then
#Set «true» for valid user
valid=«true»
#Set «true» for administrator
administrator=«true»
elif [[ $username == «fahmida» && $password == «67890» ]]; then
#Set «true» for valid user
valid=«true»
else
#Set «false» for invalid user
valid=«false»
fi
#Print message based on the values of $valid and $administrator variables
if [[ $valid == «true» && $administrator == «true» ]]; then
echo «Welcome Administrator.»
elif [[ $valid == «true» && $administrator == «false» ]]; then
echo «Welcome $username.»
else
echo «Username or Password is invalid.»
fi
Выход:
Согласно выходным данным, указанный выше сценарий был выполнен трижды. При первом запуске были даны действительные имя пользователя и пароль администратора, и было напечатано сообщение » Добро пожаловать, администратор «. Во втором выполнении действительное имя пользователя и пароль были указаны для имени пользователя, fahmida, и было напечатано сообщение » Добро пожаловать, fahmida «. При третьем выполнении были указаны неверное имя пользователя и пароль, и было напечатано сообщение об ошибке » Имя пользователя или пароль недействителен «.
Пример 3: объявление логической переменной с использованием True или False
В этом примере показан способ использования логического значения в качестве строки в сценарии bash. Создайте файл bash со следующим сценарием, который будет печатать сообщение на основе значения переменной, которая будет содержать значение, True или False. Значение подобной переменной будет установлено на основе ввода пользователя после выполнения скрипта. Сообщение будет напечатано на основе подобной переменной.
#!/bin/bash
# Using True or False for declaring boolean values
echo «Do you like programming?(Y/N)»
# Take input from the user
read answer
# Check the input values
if [[ $answer == ‘Y’ || $answer == ‘y’ ]]; then
#Set True for true value
like=True
elif [[ $answer == ‘N’ || $answer == ‘n’ ]]; then
#Set False for false value
like=False
else
echo «Invalid answer.»
exit 1
fi
#Check the valie of $like variable
if [ $like = True ] ; then
echo ‘Glad to know that you like programming.’
else
echo ‘You can learn programming.’
fi
Выход:
Согласно выходным данным, указанный выше сценарий был выполнен трижды. При первом выполнении ’y’ дал в качестве входного значения, которое устанавливает значение True в аналогичную переменную и сообщение: » Рад знать, что вам нравится программировать. «Напечатал. Во втором исполнении ’n’ предоставил в качестве входного значения, которое устанавливает значение False в аналогичную переменную и сообщение: Вы можете научиться программированию.
Заключение
Способ реализации функции логической переменной в сценарии bash был объяснен в этом руководстве с использованием нескольких примеров, помогающих читателям использовать логические значения в своих сценариях bash.