Командата за тестване може да се използва на командния ред на Linux, за да се сравни един елемент с друг, но е по-често използван в BASH скриптове като част от условни изявления, които контролират логиката и програмния поток.
Основен пример
Можете да пробвате тези команди просто като отворите терминален прозорец.
тест 1 -ек 2 & & echo "да" || ехо "не"
Горната команда може да бъде разбита по следния начин: По същество командата сравнява 1 до 2 и ако те съвпадат, екранът "yes" се изпълнява, който показва "да" и ако те не съвпадат, се изпълнява екран "no", който показва "не". Ако сравнявате елементи, които се анализират като номера, можете да използвате следните оператори за сравнение: Примери тест 1 -ек 2 & & echo "да" || ехо "не"
(показва "не" на екрана, защото 1 не е равен на 2) тест 1 - изречение 2 & & echo "да" || ехо "не"
(показва "не" на екрана, защото 1 не е по-голяма или равна на 2) тест 1 -gt 2 && echo "да" || ехо "не"
(показва "не" на екрана, защото 1 не е по-голямо от 2) тест 1-ви 2 & & echo "да" || ехо "не"
(показва "да" на екрана, защото 1 е по-малко или равно на 2) тест 1 -lt 2 && echo "да" || ехо "не"
(показва "да" на екрана, защото 1 е по-малко или равно на 2) тест 1-не 2 && ехо "да" || ехо "не"
(показва "да" на екрана, защото 1 не е равно на 2) Ако сравнявате елементи, които се анализират като струни, можете да използвате следните оператори за сравнение: Примери тест "string1" = "string2" && echo "да" || ехо "не"
(показва "не" на екрана, защото "string1" не е равен на "string2") тест "string1"! = "string2" && echo "да" || ехо "не"
(показва "да" на екрана, защото "string1" не е равен на "string2") test -n "string1" && echo "да" || ехо "не"
(показва "да" на екрана, защото "string1" има дължина на низ, по-голяма от нула) тест -z "string1" && echo "да" || ехо "не"
(показва "не" на екрана, защото "string1" има дължина на низове по-голяма от нула) Ако сравнявате файлове, можете да използвате следните оператори за сравнение: Примери test / път / към / файл1 -nt / път / към / файл2 && ехо "да"
(Ако файлът1 е по-нов от файла2, тогава ще се появи думата "да") test -e / path / to / file1 & & echo "да"
(ако file1 съществува думата "да" ще се покаже) тест -O / път / към / файл1 & & echo "да"
(ако притежавате файла1, тогава се показва думата "да") терминология Досега всичко е сравнявало едно нещо срещу друго, но какво, ако искате да сравните две условия? Например, ако едно животно има 4 крака и отива "moo", то вероятно е крава. Просто проверката за 4 крака не гарантира, че имате крава, но проверявате звука, който непременно прави. За да тествате двете условия едновременно, използвайте следното изявление: тест 4 -eq 4 -a "moo" = "moo" && echo "това е крава" || ехо "това не е крава"
Основната част тук е -a, която означава и . Има по-добър и по-често използван начин за извършване на същия тест, а именно: тест 4 -eq 4 && тест "moo" = "moo" && echo "това е крава" || ехо "това не е крава"
Друг тест, който бихте искали да направите, е да сравнявате две твърдения и ако и да е истина, изведете низ. Например, ако искате да проверите дали файл, наречен "file1.txt" съществува или файл, наречен "file1.doc", можете да използвате следната команда: test -e file1.txt -o -e файл1.doc && echo "file1 съществува" || echo "file1 не съществува"
Основната част тук е -о, което означава или . Има по-добър и по-често използван начин за извършване на същия тест, а именно: test -e file1.txt || test -e file1.doc && echo "file1 съществува" || echo "file1 не съществува" Всъщност не е нужно да използвате теста на думата, за да извършите сравнението. Всичко, което трябва да направите, е да приложете изявлението в квадратни скоби, както следва: -e file1.txt && echo "file1 съществува" || echo "file1 не съществува"
И основно означава същото като теста. Сега знаете това, което можете да подобрите при сравняване на няколко условия, както следва: 4 -eq 4 && "moo" = "moo" && echo "това е крава" || ехо "това не е крава"-e file1.txt || -e file1.doc && echo "file1 съществува" || echo "file1 не съществува" Тестовата команда е по-полезна в скриптовете, защото можете да тествате стойността на една променлива спрямо друга и да управлявате потока от програми. В стандартния команден ред можете да го използвате, за да проверите дали даден файл съществува или не.
Сравняване на числата
Сравняване на текста
Сравняване на файлове
Сравняване на множество условия
Премахване на тестовата ключова дума
резюме