Cara Nggunake Ketentuan Panguji Ing Script Bash

Tilting test bisa digunakake ing baris perintah Linux kanggo mbandhingake siji elemen marang liyane nanging luwih umum digunakake ing skrip shell BASH minangka bagéan saka statements bersyarat sing ngontrol logika lan program aliran.

Conto Dasar

Sampeyan bisa nyoba printah iki mung kanthi mbukak jendhela terminal .

test 1 -eq 2 && echo "yes" || echo "no"

Pandhuan ing ndhuwur bisa diremehake kaya ing ngisor iki:

Sabanjure, printah iki mbandingake 1 nganti 2 lan padha cocog karo statement "yes" diarani "yes" lan yen ora cocog karo statement echo "no" sing dieksekusi sing nampilake "ora".

Mbandingaken Nomer

Yen sampeyan mbandingaken unsur-unsur sing ngurai minangka nomer sampeyan bisa nggunakake operator bandhing ngisor iki:

Conto:

test 1 -eq 2 && echo "yes" || echo "no"

(nuduhake "ora" menyang layar amarga 1 ora padha 2)

test 1 -ge 2 && echo "yes" || echo "no"

(nampilake "ora" menyang layar amarga 1 ora luwih utawa padha karo 2)

test 1 -gt 2 && echo "yes" || echo "no"

(nuduhake "ora" menyang layar amarga 1 ora luwih saka 2)

test 1 -le 2 && echo "yes" || echo "no"

(nuduhake "ya" menyang layar amarga 1 kurang saka utawa witjaksono 2)

test 1 -lt 2 && echo "yes" || echo "no"

(nuduhake "ya" menyang layar amarga 1 kurang saka utawa witjaksono 2)

test 1 -ne 2 && echo "yes" || echo "no"

(nuduhake "ya" menyang layar amarga 1 ora padha 2)

Mbandhingaké tèks

Yen sampeyan mbandingaken unsur-unsur sing bisa njlentrehake strings sampeyan bisa nggunakake operator bandhing ngisor iki:

Conto:

test "string1" = "string2" && echo "yes" || echo "no"

(nuduhake "ora" menyang layar amarga "string1" ora padha "string2")

test "string1"! = "string2" && echo "yes" || echo "no"

(nuduhake "ya" menyang layar amarga "string1" ora padha karo "string2")

test -n "string1" && echo "yes" || echo "no"

(nampilake "ya" menyang layar amarga "string1" duwe dawa senar luwih gedhe tinimbang nol)

test -z "string1" && echo "yes" || echo "no"

(nuduhake "ora" menyang layar amarga "string1" duwe dawa senar sing luwih dhuwur tinimbang nol)

Mbandingake File

Yen sampeyan mbandingaken file sampeyan bisa nggunakake operator bandhing ngisor iki:

Conto:

test / path / to / file1 -n / path / to / file2 && echo "yes"

(Yen file1 luwih anyar tinimbang file2 banjur tembung "ya" bakal ditampilake)

test -e / path / to / file1 && echo "ya"

(yen file1 ana tembung "ya" bakal ditampilake)

test -O / path / to / file1 && echo "yes"

(yen sampeyan duwe file1 banjur tembung "ya" dituduhake ")

Istilah kasebut

Mbandingaken Ketentuan

Mangkono adoh kabeh wis mbandhingake siji bab marang liyane nanging apa yen sampeyan pengin mbandhingaké rong kondisi.

Contone, yen kewan nduweni 4 sikil lan dadi "moo", mbok menawa ana sapi. Cukup mriksa 4 sikil ora njamin yen sampeyan duwe sapi nanging mriksa swara sing ndadekake mesthi.

Kanggo nyoba kahanan kasebut bebarengan, gunakake pernyataan ing ngisor iki:

test 4 -eq 4 -a "moo" = "moo" && echo "is a cow" || echo "iku ora cow"

Bagian utama ing kene yaiku -a sing tegese lan.

Ana cara sing luwih apik lan luwih umum digunakake kanggo nguji tes sing padha lan sing kaya mangkene:

test 4 -eq 4 && test "moo" = "moo" && echo "iku cow" || echo "iku ora cow"

Tes liyane sing sampeyan pengin nggawe yaiku mbandingake rong pernyataan lan yen salah siji bener ngasilake senar. Contone, yen sampeyan pengin mriksa file sing dijenengi "file1.txt" ana utawa file sing dijenengi "file1.doc" ana sampeyan bisa nggunakake perintah ing ngisor iki

test -e file1.txt -o -e file1.doc && echo "file1 exists" || echo "file1 ora ana"

Sisih kunci ing kene yaiku -o sing tegese utawa.

Ana cara sing luwih apik lan luwih umum digunakake kanggo nguji tes sing padha lan sing kaya mangkene:

test -e file1.txt || test -e file1.doc && echo "file1 exists" || echo "file1 ora ana"

Ngilangi Keyword Test

Sampeyan pancene kudu nggunakake test tembung kanggo nglakoni perbandingan. Kabeh sing kudu dilakoni yaiku enclose statement in brackets square kaya ing ngisor iki:

[-e file1.txt] && echo "file1 ana" || echo "file1 ora ana"

Ing [lan] tegese tegese padha karo test.

Saiki sampeyan ngerti iki sampeyan bisa nambah ing mbandhingan kahanan kaya mangkene:

[4-eq 4] && ["moo" = "moo"] && echo "punika sapi" || echo "iku ora cow"

[-e file1.txt] || [-e file1.doc] && echo "file1 ana" || echo "file1 ora ana"

Ringkesan

Pangujian test luwih migunani ing skrip amarga sampeyan bisa nguji nilai siji variabel marang liyane lan ngontrol aliran program. Ing baris printah standar, sampeyan bisa nggunakake aplikasi kasebut kanggo nguji manawa file ana utawa