Ръководство за начинаещи за BASH - Сравняване на нещата
В предишната част от урока по BASH разгледахме условните изявления.
Това ръководство беше много дълго, но наистина показа само как да контролира потока от логика. Това ръководство показва различните начини, по които можете да сравните променливите.
Горното изображение показва първия пример в ръководството за тази седмица:
#! / Хамбар / Башname1 = "Gary"NAME2 = "Боб"ако "$ name1" = "$ name2"тогава echo "имената съвпадат"още echo "имената не съвпадат"FiВ горния сценарий са дефинирали две променливи, наречени name1 и name2 и са им присвоени стойностите "gary" и "bob". Тъй като променливите се съдържат в кавички, те се наричат струнни променливи, които стават по-уместни, докато уроците продължават. Целият скрипт прави сравнение на стойността на $ name1 и $ name2 и ако те съвпадат с изхода, низът "match names" и ако не извеждат низа "имената не съвпадат". Цифрите около $ name1 и $ name2 променливите са важни, защото ако стойността на която и да е от тях не е зададена, скриптът ще продължи да работи. Например, ако $ name1 никога не е бил зададен, тогава бихте сравнявали "" с "bob". Без кавичките бихте останали с = "bob", което очевидно не успее. Можете също така да използвате означението!! =, За да определите, че не е равно на следното: В горния пример тестът сравнява едни и същи две струни и пита въпроса дали Гари предхожда буквата в азбуката? Ясно е, че отговорът е "не". Сценарият въвежда по-малко от оператора (<). Тъй като по-малко от оператора се използва и за пренасочване, трябва да го избягате с наклонена черта (), за да означава по-малко, отколкото затова в горния скрипт сравнявам "$ name1" <"$ name2". Обратното на по-малко от очевидно е по-голямо от това. Вместо да използвате <използвайте >. Например Ако искате да проверите дали дадена променлива има стойност, можете да използвате следния тест: В скрипта по-горе съм тествал дали $ name2 е получил стойност и ако не е съобщението "Няма bob, никога не е имало bob появява". На предишния слайд ние покрихме дали е зададена променлива или не. Понякога може да е зададена променлива, но всъщност няма да има стойност. Например: За да проверите дали дадена променлива има стойност или не (т.е. има нулева дължина) използвайте -z както следва: В горния скрипт зададох $ name1 на низ с дължина на низ и след това го сравних с помощта на -z. Ако $ name1 е с нулева дължина, ще се покаже съобщението "gary излезе за вечерта". Досега всички сравнения са били за струни. Какво ще кажете за сравняване на числа? Горният скрипт показва пример за сравняване на два номера: За да зададете променлива като число, просто я задавайте без кавички. След това можете да сравните номерата с знак за равенство. Предпочитам обаче да използвам следния оператор, за да сравните два числа: Ако искате да сравните дали число е по-малко от друго число, можете да използвате по-малко от оператора (<). Както при струните, трябва да избягате от оператора с лост. ( <). По-добър начин за сравняване на числата е да използвате следното означение вместо това: Например: Накрая за това ръководство, ако искате да проверите дали две числа са различни, можете да използвате или по-малко и по-голямо от операторите заедно (<>) или -ne, както следва: Ако сте пропуснали първите три части на това ръководство, можете да ги намерите, като кликнете върху следните връзки: В следващата част на ръководството ще се занимавам с аритметика. Ръководство за начинаещи за BASH - Сравняване на струни
Ръководство за начинаещи за BASH - Сравняване на струни
Ръководство за начинаещи за BASH - Сравняване на струни
Ръководство за начинаещи за BASH - Сравняване на числа
Ръководство за начинаещи за BASH - Сравняване на числа
Ръководство за начинаещи за BASH - Сравняване на числа
Ръководство за начинаещи за BASH - Сравнение оператори - Обобщение