Skip to main content

Ръководство за начинаещи за BASH - Сравняване на нещата

PHP Tutorials | PHP For Beginners (Април 2025)

PHP Tutorials | PHP For Beginners (Април 2025)

Съдържание:

Anonim
01 от 08

Ръководство за начинаещи за 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" 02 от 08

Ръководство за начинаещи за BASH - Сравняване на струни

В горния пример тестът сравнява едни и същи две струни и пита въпроса дали Гари предхожда буквата в азбуката?

Ясно е, че отговорът е "не".

Сценарият въвежда по-малко от оператора (<). Тъй като по-малко от оператора се използва и за пренасочване, трябва да го избягате с наклонена черта (), за да означава по-малко, отколкото затова в горния скрипт сравнявам "$ name1" <"$ name2".

Обратното на по-малко от очевидно е по-голямо от това. Вместо да използвате <използвайте >.

Например

ако "$ name1" > "$ name2" 03 от 08

Ръководство за начинаещи за BASH - Сравняване на струни

Ако искате да проверите дали дадена променлива има стойност, можете да използвате следния тест:

ако -n $ name2

В скрипта по-горе съм тествал дали $ name2 е получил стойност и ако не е съобщението "Няма bob, никога не е имало bob появява".

04 от 08

Ръководство за начинаещи за BASH - Сравняване на струни

На предишния слайд ние покрихме дали е зададена променлива или не. Понякога може да е зададена променлива, но всъщност няма да има стойност.

Например:

name1 = ""

За да проверите дали дадена променлива има стойност или не (т.е. има нулева дължина) използвайте -z както следва:

ако -z $ име1

В горния скрипт зададох $ name1 на низ с дължина на низ и след това го сравних с помощта на -z. Ако $ name1 е с нулева дължина, ще се покаже съобщението "gary излезе за вечерта".

05 от 08

Ръководство за начинаещи за BASH - Сравняване на числа

Досега всички сравнения са били за струни. Какво ще кажете за сравняване на числа?

Горният скрипт показва пример за сравняване на два номера:

#! / Хамбар / Баша = 4б = 5ако $ a = $ bтогава ехо "4 = 5"още ехо "4 не е равно на 5"Fi

За да зададете променлива като число, просто я задавайте без кавички. След това можете да сравните номерата с знак за равенство.

Предпочитам обаче да използвам следния оператор, за да сравните два числа:

Ако $ a -eq $ b 06 от 08

Ръководство за начинаещи за BASH - Сравняване на числа

Ако искате да сравните дали число е по-малко от друго число, можете да използвате по-малко от оператора (<). Както при струните, трябва да избягате от оператора с лост. ( <).

По-добър начин за сравняване на числата е да използвате следното означение вместо това:

  • По-малко от -lt
  • По-малко или равно на -ле
  • По-голяма от -gt
  • По-голямо или равно на -ge

Например:

ако $ a -lt $ bако $ a -le $ bако $ a -ge $ bако $ a -gt $ b 07 от 08

Ръководство за начинаещи за BASH - Сравняване на числа

Накрая за това ръководство, ако искате да проверите дали две числа са различни, можете да използвате или по-малко и по-голямо от операторите заедно (<>) или -ne, както следва:

ако $ a <> $ bако $ a -ne $ b 08 от 08

Ръководство за начинаещи за BASH - Сравнение оператори - Обобщение

Ако сте пропуснали първите три части на това ръководство, можете да ги намерите, като кликнете върху следните връзки:

  • Здравей свят
  • Параметри за въвеждане
  • Условия и променливи

В следващата част на ръководството ще се занимавам с аритметика.