Тест буйрук башка бир элементин салыштырып Linux буйрук сабында колдонулат, бирок бул жылы көбүрөөк колдонулуп жатат болот BASH номиналдык скриптердин бөлүгү катары шарттуу логикасы жана программа агымын башкарып турган.
А негизги үлгүсү
Силер бул сөздөрдү жөн гана сыноо болот айыккыс терезени ачып .
сыноо 1 -eq 2 "ооба" кошула && || Эмесе, "жок"
Жогоруда буйрук төмөнкүдөй бузуп салыш керек болот:
- сыноо - бул бир салыштыруу жасоого тууралуу билдирет
- 1 - сиз салыштырып турган биринчи элементи
- -eq (сен салыштырып, кандай, бул учурда, бир катар башка барабар же жокпу, сынап жатабыз)
- 2 - Сен биринчи элементи кайрадан салыштырышууда элементи
- && - натыйжасы туура болсо, анда төмөнкү сөздөрдү чуркап
- "Ооба", - Эхо буйрук салыштыруу чыныгы кайтып келсе, чуркап
- || - жыйынтыгы туура эмес болсо, төмөнкү сөздөрдү чуркап
- Эмесе, "жок", - салыштыруу жалган кайтып буйругу чуркап
Кыскача айтканда, команда 2 1 салыштырып, алар сезесиз "ооба" көчүрмө туура "ооба", алар сезесиз дал келбейт, анда "жок" деген сөздөрү көрсөтүп турган аткарылат "жок" көрсөтүп турган ишке берилет.
салыштыруу Сандар
Сиз номерлери сыяктуу талдай элементтерди салыштырып, анда төмөнкү салыштыруу операторлорду колдоно аласыз:
- -eq - балл 1 бирдей баасын 2 жатат
- -ge - 2 баалай ашыкча же бирдей 1 наркы
- -gt - 2 маанисинен балл 1 жогору
- -le - 2 баалай наркы 1 кем же барабар
- -lt - 2 мааниден балл 1 аз
- -ne - балл 1 эмес, бирдей маанини 2 жатат
мисалдар:
сыноо 1 -eq 2 "ооба" кошула && || Эмесе, "жок"
(1 2 бирдей туура келбейт, себеби экранга көрсөтүп, "жок")
сыноо 1 -ge 2 "ооба" кошула && || Эмесе, "жок"
(Экранга көрсөтүп, "жок", анткени 1-2 көбүрөөк же барабар эмес)
сыноо 1 -gt 2 "ооба" кошула && || Эмесе, "жок"
(1 2 жогору эмес, анткени экранга көрсөтүп, "жок")
сыноо 1 -le 2 "ооба" кошула && || Эмесе, "жок"
(Экранга көрсөтүп: "Ооба", анткени 1 2 төмөн же барабар эмес)
сыноо 1 -lt 2 "ооба" кошула && || Эмесе, "жок"
(Экранга көрсөтүп: "Ооба", анткени 1 2 төмөн же барабар эмес)
сыноо 1 -ne 2 "ооба" кошула && || Эмесе, "жок"
(1 2 бирдей туура келбейт, себеби экранга көрсөтүп, "ооба")
салыштыруу Text
Сиз Саптар катары талдоо элементтерди салыштырып, анда төмөнкү салыштыруу операторлорду колдоно аласыз:
- = - сап 1 матч сап 2 жатат
- ! = - 2-сапка сап 1 башкача
- -н - 0 ашуун сап узундугу жогору
- -z - сап узундугу 0
мисалдар:
сыноо "string1" = "string2" && Эхо "ооба" || Эмесе, "жок"
( "String1" бирдей "string2" жок кылат, анткени экранга көрсөтүп, "жок")
сыноо "string1"! = "string2" && Эхо "ооба" || Эмесе, "жок"
( "String1" бирдей "string2" жок кылат, анткени экранга көрсөтүп, "ооба")
сыноо -н "string1" && Эхо "ооба" || Эмесе, "жок"
(Экранга көрсөтүп, "ооба", "string1" нөлдөн сап узундугу көбүрөөк, анткени)
Test -z "string1" && Эхо "ооба" || Эмесе, "жок"
( "String1", анткени экранга көрсөтүп, "жок" нөлдөн сап узундугу көбүрөөк ээ)
салыштыруу Files
Эгер документ салыштыруу, анда төмөнкү салыштыруу операторлорду колдоно аласыз:
- -ef - Files эле аппарат жана inode'на жетүү сандарды барбы (ошол эле билэ болуп саналат)
- -nt - экинчи делосуна биринчи билэ жанык
- -Караджа - экинчи делосуна биринчи билэ улуу
- -Б - билэ бар жана атайын бөлүгү болуп саналат
- -C - билэ баар жана мүнөзү өзгөчө
- -D - билэ баар жана каталог болуп саналат
- -E - билэ баар
- -f - билэ бар жана үзгүлтүксүз сөп
- -G - билэ баар жана аталган топ бар
- -G - билэ баар жана ээси колдонуучунун тобу
- -h - билэ баар болуп саналат жана бир символдук шилтеме
- -k - билэ баар жана жабышкак аз топтомун бар
- -L - -h эле
- -O - билэ сиз ээси бар
- -p - билэ баар жана аталган куурунда
- -r - билэ баар жана окула турган болуп саналат
- -s - билэ баар жана нөлгө караганда көлөмү көбүрөөк бар
- -S - билэ баар жана оюгу бар
- -t - билэ сыпаттаманы бир терминалга ачылды
- -С - билэ бар жана белгиленген-колдонуучу-ID бит белгиленет
- ж - билэ баар жана жазылбайт болот
- -x - билэ баар жана Аткаруучу эмес
мисалдар:
сыноо / жол / үчүн / file1 -n / жол / үчүн / file2 && Эхо "ооба"
(File1 file2 жанык болсо, анда сөз "ооба" деп көрсөтүлөт)
тест -e / жол / үчүн / file1 && Эхо "ооба"
(File1 сөз "ооба" бар көрсөтүлө турган болсо)
тест -O / жол / үчүн / file1 && Эхо "ооба"
(Эгер file1 анан сөзүн ээ болсо, "ооба" деп көрсөтүлөт ")
терминология
- Бөгөттөө атайын - билэ маалымат байттар блокторун окуп жатат дегенди билдирет блок түзмөк болот. Бул көбүнчө катуу дисктер сыяктуу түзмөк Files болуп саналат.
- Character атайын - билэ Сен аны менен, адатта, мындай сериал порту катары түзмөк болуп жазып жатканда, дароо эле ишке салынат
Салыштырмалуу бир нече шарттары
Буга чейин баары башка бир нерсе менен салыштырып, бирок эки шарттарды салыштырып кааласак эмне болот.
Мисалы, мал 4 буту бар болсо, "Музыка", ал, балким, бир уй. Жөн гана 4 буту үчүн текшерүү силерди бир уй бар экенин кепилдик бербейт, бирок бул сөзсүз кылат үн текшерүүдө.
бир жолу төмөнкү сөздөрдү пайдаланууга да шарт сынаш үчүн:
тест 4 -eq 4 биригип "мөө" = "мөө" && Эхо "ал уй" || "Бул уй эмес," Эхо
Бул жерде негизги бөлүгү жана чечмеленет -a болуп саналат.
Ошол эле тест жүргүзүү бир топ жакшырып, жалпы колдонулган ыкмасы болуп саналат жана төмөнкүдөй болот:
тест 4 -eq 4 && сыноо "мөө" = "мөө" && Эхо "ал уй" || "Бул уй эмес," Эхо
эки салыштыруу сиз чыгарууга умтулушу мүмкүн дагы текшерүү жана да чыныгы чыгаруу бир сап болсо. Мисалы, "file1.txt" аттуу билэ баар же "file1.doc" деп аталган бир билэ төмөнкү буйрук колдоно аласыз бар экенин текшерүү үчүн келсе,
сынап -e file1.txt епо -e file1.doc && Эхо "file1 бар" || кошулушат "file1 нерсе жок"
Бул жерде негизги бөлүгү же чечмеленет епо болуп саналат.
Ошол эле тест жүргүзүү бир топ жакшырып, жалпы колдонулган ыкмасы болуп саналат жана төмөнкүдөй болот:
тест -E file1.txt || тест -e file1.doc && Эхо "file1 бар" || кошулушат "file1 нерсе жок"
Жокко Test сүйлөм
Сиз чындыгында салыштыруу аткарууга сөз сыноого колдонуунун зарылдыгы жок. Эгер чын чарчы кашаанын ичинде арызды төмөнкүлөр тиркелиши керек:
[-e file1.txt] && Эхо "file1 бар" || кошулушат "file1 нерсе жок"
[Жана], негизинен сыноо эле дегенди билдирет.
Азыр сиз төмөнкүдөй бир нече шарттарды салыштыруу жакшырта алабыз билип:
[4--eq 4] && [ "мөө" = "мөө"] && Эхо "ал уй" || "Бул уй эмес," Эхо
[-e file1.txt] || [-e file1.doc] && Эхо "file1 бар" || кошулушат "file1 нерсе жок"
Жыйынтык
Эгер башка бир өзгөрмөнүн сыноо жана программалык агымын башкара алат, анткени, тесттин буйрук жазууларында көп пайдалуу. стандарттык буйрук сабында, сиз билэ бар-жогун текшерүү үчүн аны колдоно аласыз же