Този урок ще ви покаже как да използвате условни изрази, за да проверите дали дадена променлива е празна и след това да извършите действие след факта. Такива действия могат да включват цикличен блок код, докато променливата не е празна, излезте или просто предупредете потребителя, че променливата е празна.
Преди да започнем, ще бъде полезно, ако сте запознати с основните скриптове на Bash.
Bash Basic - Променливи 101
Променливите са основни градивни елементи на всеки реален език за програмиране, а Bash използва променливи. Променливите са контейнери с данни, използвани за съхраняване на стойности за използване в по -късни раздели на програмата.
За да създадем проста променлива в Bash, използваме името на променливата.
Например:
#!/bin/bash$ i_am
След като инициализирате променливата, можете да й присвоите стойността, като използвате знак за равенство като:
#!/bin/bash
Аз съм= ubuntu
След като е деклариран и присвоен, можете да го извикате, като просто го посочите по име като:
#!/bin/bashизхвърлен $ i_am
Това ще върне запазената стойност в променливата, както е показано на екрана по -долу.
ЗАБЕЛЕЖКА: Позоваването на променлива както в единични кавички, така и в двойни кавички връща различни резултати. Променлива вътре в единични кавички ще се превърне в низов литерал, докато в двойни кавички получава третиране на име на променлива.
Ето един пример:
Сега, когато имаме основите на променливите в Bash, можем да преминем към условни условия и проверка за празна променлива.
За подробно ръководство за това как да създадете променливи на bash, помислете за ресурса по -долу:
https://linuxhint.com/variables_bash/
Основи на Bash - Ако изявленията
Ако изявленията са друг фундаментален програмен блок и Bash би бил инвалид без тях. Те ни позволяват да извършим действие, ако условие е вярно или невярно.
Нека да резюмираме накратко как да използваме Bash, ако, ако ... иначе и ако ... elif ... иначе
Ако С tatement
Общият синтаксис за използване на оператор if в Bash е както е показано по -долу:
#!/bin/bashако {състояние}
тогава
направете
бъда
Стартираме оператор if чрез извикване на ключовата дума if. След това следваме, като посочим условието за проверка. Условието може да бъде прост или сложен израз, стига да се изчисли на вярно или невярно.
След това задаваме ключовата дума, която определя кодовия блок да се изпълнява, ако условието се изчисли на true.
Накрая затваряме оператора if, използвайки ключовата дума fi.
Ако… иначе изявления
Изречението bash if… else указва допълнително действие, ако условието се оценява на false. Общият синтаксис е следният:
#!/bin/bashако {състояние}
тогава
направете
иначе
направете
бъда
Примерен случай на използване
Позволете ми да използвам прост пример, за да илюстрирам използването на изрази if.
Изразът if е както е показано по -долу:
#!/bin/bashникой=1
ако [[ $ num -gt5 ]]
тогава
изхвърлен '$ numе по -голямо от 5 '
иначе
изхвърлен '$ numе по -малко от 5 '
бъда
Изходът е както е показано по -долу:
Тъй като сега имаме основите на изгладените изявления, нека продължим с този урок.
Проверете дали изявленията в подробности по -долу:
https://linuxhint.com/bash_conditional_statement/
Как да проверите дали променливата е празна
Популярен и лесен начин да проверите дали дадена променлива е празна е да използвате опцията -z в израза на условието.
-Z $ var връща true, ако променливата е празна и false, ако не.
Общият синтаксис за такъв тест е:
#!/bin/bashако [[ -С $ var ]]
тогава
направете
иначе
направете
бъда
Примерен скрипт
Нека илюстрираме прост скрипт, който емулира командата cd и навигира в указаната директория.
Помислете за скрипта по -долу:
#!/bin/bashизхвърлен 'Въведете път за навигация до:'
Прочети_ пътека
докато [[ -С $ _path ]];направете
изхвърлен „Моля, посочете път“
Свършен
изхвърлен 'Придвижване до$ _path'
CD $ _path
След като изпълним горната заявка, получаваме резултата, както е показано по -долу.
Скриптът започва, като поиска от потребителя да влезе в директорията, за да отиде до него. След това проверява дали променливата е празна. Ако е празно, то рекурсивно пита потребителя за път, докато променливата не е празна.
След като пътят е наличен, той се придвижва до зададената директория и отпечатва състоянието.
Заключение
Този кратък урок ви показа как да проверите дали дадена променлива е празна с помощта на флага -z. Това проверява дали дължината на променливата е 0 и ако 0, променливата е празна. Това може да бъде много мощно, когато имате нужда стойността на променлива да е вярна, преди да продължите.
Можете също да комбинирате горното изявление с други изрази, за да създадете сложен инструмент, ако променливата е празна или не.
Благодаря ви и щастливо време за скриптове !!