Фармони санҷиш метавонад дар сатри фармондеҳи Linux истифода шавад, то як унсури муқоиса бо дигар муқоиса карда шавад, аммо он дар маъхазҳои сиёҳии BASH ҳамчун қисми шартҳои шартӣ, ки назорати мантиқӣ ва ҷараёни равандро истифода мебарад.
Намунаи асосӣ
Шумо метавонед ин фармонҳоро фақат бо кушодани тирезаи терминал .
санҷиш 1 -ик 2 && echo "ҳа" || echo "не"
Фармони мазкур метавонад ба таври зайл қатъ карда шавад:
- озмоиш - ин маънои онро дорад, ки шумо муқоиса кунед
- 1 - унсурҳои аввалине, ки шумо муқоиса кунед
- -Чи (шумо дар муқоиса бо шумо чӣ гуна аст, ки дар ин ҳолат шумо санҷидаед, ки оё як рақам баробар аст)
- 2 - унсуре, ки шумо бори аввал як унсури муқоиса кунед
- && - Агар натиҷа дуруст бошад, изҳороти зеринро иҷро кунед
- echo "ҳа" - фармоне, ки агар муқоиса бармегардад, иҷро шавад
- Ойини мадоро - агар ин натиҷа нодуруст бошад, изҳороти зеринро иҷро кунед
- echo "no" - фармоне, ки муқоиса баръакси бардурӯғ аст, иҷро карда мешавад
Дар асл, фармон Фарқияти 1 то 2-ро дар бар мегирад ва онҳо бо эъломияи эволютсияи "ҳа" мувофиқат мекунанд, ки "ҳа" нишон дода шудаанд ва агар онҳо "не" -ро иҷро накунанд, ки "не" нишон дода шудаанд.
Рақамҳои рақамӣ
Агар шумо дар муқоиса бо унсурҳое, ки ба монанди рақамҳо истифода карда метавонед, метавонед операторҳои муқоисавии зеринро истифода баред:
- -eq - арзиши 1 баробарии баробар 2
- -ир - арзиши 1 бузургтар ё баробар ба 2 мебошад
- -gt - арзиши 1 бузургтар аз 2
- - - - арзиши 1 камтар аз 2 баробар аст
- - 1 - арзиши 1 камтар аз 2
- - на - аҳамият надодан 1 арзиши баробар 2
Намунаҳо:
санҷиш 1 -ик 2 && echo "ҳа" || echo "не"
("Не" -ро ба экран нишон медиҳад, чунки 1 адад баробар нест 2)
санҷиш 1-ро 2 && echo "ҳа" || echo "не"
("Не" -ро ба экран нишон медиҳад, зеро 1 адад зиёд нест ё 2)
санҷиш 1 -ғунд 2 && echo "ҳа" || echo "не"
("Не" -ро ба экран намоиш медиҳад, зеро 1 на беш аз 2)
санҷиш 1 - 2 2 && echo "ҳа" || echo "не"
(нишондиҳандаҳои "ҳа" ба экран, чунки 1 адад камтар аст ё 2)
санҷиш 1 - 2 2 && echo "ҳа" || echo "не"
(нишондиҳандаҳои "ҳа" ба экран, чунки 1 адад камтар аст ё 2)
санҷиш 1-2 2 && echo "ҳа" || echo "не"
(нишон медиҳад, ки "экрани" ба экрани "1" баробар нест 2)
Матнро муқоиса кунед
Агар шумо дар муқоиса бо унсурҳое, ки ба монанди сутунҳо фарқ мекунанд, метавонед операторҳои муқоисавии зеринро истифода баред:
- = - сатри 1 рақами 2 мебошад
- ! = - string 1 different ба сатри 2
- -n - дарозии сатри бузургтар аз 0 аст
- -z - дарозии сатри 0 мебошад
Намунаҳо:
санҷед "string1" = "string2" && echo "ҳа" || echo "не"
("Не" -ро ба экран нишон медиҳад, чунки "string1" ба "string2" баробар нест)
санҷед "string1"! "string2" && echo "ҳа" || echo "не"
("Ҳа" -ро ба экран намоиш медиҳад, чунки "string1" баробар нест "string2")
test -n "string1" && echo "ҳа" || echo "не"
("Ҳа" -ро ба экран нишон медиҳад, чунки "string1" дорои дарозии ранг аз сифр аст)
санҷиш-string "string1" && echo "ҳа" || echo "не"
("Не" -ро ба экран нишон медиҳад, чунки "string1" дорои дарозии сатртар аз сифр аст)
Мониторинги файлҳо
Агар шумо файлҳоро муқоиса кунед, метавонед операторҳои муқоисавии зеринро истифода баред:
- -ф - Оё файлҳо ҳамон рақам ва дастгоҳро доранд (онҳо ҳамон як файл мебошанд)
- -Дар файли аввалтар аз файли дуюм навтар аст
- -от - файли яктарафа аз файли дуюм калонтар аст
- -b - Файл вуҷуд дорад ва блок махсус аст
- -c - Файл вуҷуд дорад ва махсуси махсус мебошад
- -d - Файл вуҷуд дорад ва як феҳрист аст
- -е - Файл вуҷуд дорад
- -f - Файл вуҷуд дорад ва файл доим аст
- -g - Файл вуҷуд дорад ва дорои рақами мушаххаси муайян аст
- -G - Файл ва мавҷудияти соҳиби гурӯҳ истифода мешавад
- -h - Файл вуҷуд дорад ва алоқаи симметрӣ аст
- -k - Файл вуҷуд дорад ва маҷмӯи битистодаи он мебошад
- -Л - ҳамон тавре, ки -h
- -O - Файли шумо соҳиб аст
- -p - Файл вуҷуд дорад ва хатти номи ном дорад
- -r - Файл вуҷуд дорад ва хонда мешавад
- -s - Файл вуҷуд дорад ва андозаи бузургтар аз сифр дорад
- -S - Файл мавҷуд аст ва решакан аст
- -t - Дар терминал тасвиркунандаи файли кушода шудааст
- -u - Файл вуҷуд дорад ва танзимати истифодабаранда-id-id мебошад
- -w - Файл вуҷуд дорад ва навиштаҷот аст
- -x - Файл вуҷуд дорад ва иҷро мешавад
Намунаҳо:
test / path / ба / file1 -n / path / ба / file2 && echo "ҳа"
(Агар file1 навтар аз file2 бошад, калимаи "ҳа" нишон дода мешавад)
test -e / path / ба / file1 && echo "ҳа"
(агар file1 мавҷуд бошад, калимаи "ҳа" нишон дода мешавад)
санҷиш -O / роҳ / ба / file1 && echo "ҳа"
(агар шумо файл1 дошта бошед, калимаи "ҳа" нишон дода мешавад).
Терминология
- Махсуси блок - Файл як дастгоҳи блок аст, ки маънои онро дорад, ки маълумот дар блогҳои блогҳо хонда мешавад. Инҳо асосан файлҳои дастгоҳ ба монанди дискҳои сахт мебошанд.
- Хусусияти Character - Файл ба таври фаврӣ вақте шумо ба он менависед ва одатан як дастгоҳ, ба монанди портали serial
Муқоиса кардани шароитҳои бисёрҷониба
Ҳамин тариқ, ҳама чиз як чизи дигареро муқоиса карда буд, аммо чӣ бояд кард, агар шумо ду шартро муқоиса кунед.
Масалан, агар чорво 4 симта дошта бошад ва "moo" меравад, он метавонад гов бошад. Танҳо санҷиш барои 4 поича кафолат намедиҳад, ки шумо гов дошта бошед, аммо санҷед, ки оё он садо медиҳад.
Барои санҷиши ҳар ду шарт дар як вақт истифода баред:
озмоиши 4-н 4-ро "moo" = "moo" && echo "он гов" || echo "ин гов нест"
Қисми асосии ин аст -a, ки барои он аст.
Услуби беҳтар ва бештар истифодашавандаест, ки ба ҳамон санҷиш мегузаранд ва чунин аст:
4-синфи 4 && озмуни "moo" = "moo" && echo "он гов" || echo "ин гов нест"
Санҷиши дигареро, ки шумо мехоҳед ба кор баред, муқоиса кардани ду изҳорот аст ва агар ҳақиқатан як сатрро иҷро кунед. Масалан, агар шумо мехоҳед санҷед, ки файли "file1.txt" мавҷуд аст ё файл "file1.doc" ном дорад, шумо метавонед фармонро иҷро кунед
test -e file1.txt -o -e file1.doc && echo "file1 вуҷуд дорад" || echo "file1 вуҷуд надорад"
Қисми асосии ин аст - o, ки барои ё.
Услуби беҳтар ва бештар истифодашавандаест, ки ба ҳамон санҷиш мегузаранд ва чунин аст:
санҷиши file1.txt || test -e file1.doc && echo "file1 вуҷуд дорад" || echo "file1 вуҷуд надорад"
Тоза кардани калимаи калидӣ
Шумо ба ҳақиқат надоред, ки санҷиши калимаро барои иҷрои муқоисавӣ истифода баред. Ҳамаи шумо бояд корро дар матн дар майдони майдонча ҷойгир кунед:
[-e file1.txt] && echo "file1 вуҷуд дорад" || echo "file1 вуҷуд надорад"
[Ва] асосан маънои санҷишро дорад.
Акнун шумо медонед, ки шумо метавонед дар муқоиса кардани шароитҳои гуногун ба таври зерин такмил диҳед:
[4] 4] && ["moo" = "moo"] && echo "он гов" || echo "ин гов нест"
[-e file1.txt] || [-e file1.doc] && echo "file1 вуҷуд дорад" || echo "file1 вуҷуд надорад"
Натиҷа
Фармони санҷиш дар сутунҳо хеле муфид аст, зеро шумо метавонед арзиши як тағйирёбиро бар зидди дигар танзим кунед ва ҷараёни ҷараёни назоратро тафтиш кунед. Дар сатри фармоиши фармоиш, шумо метавонед онро санҷед, ки оё файл мавҷуд аст ё не