Unsaon Paggamit ang mga Kondisyon sa Pagsulay Sulod sa usa ka Bash Script

Ang test command mahimong magamit sa command line sa Linux aron itandi ang usa ka elemento batok sa lain apan mas kasagarang gigamit sa BASH shell scripts isip kabahin sa conditional statements nga nagkontrolar sa logic ug daloy sa programa.

Usa ka Sukaranan nga Paagi

Mahimo nimong sulayan kini nga mga sugo pinaagi lamang sa pag-abli sa terminal nga bintana .

test 1-gaq 2 && echo "oo" || echo "no"

Ang sugo sa ibabaw mahimong mabuak sama sa mosunod:

Sa esensya, ang komando nagtandi sa 1 ngadto sa 2 ug kini ang katugbang sa echo nga "oo" nga pamahayag nga gipatuman nga nagpakita sa "oo" ug kung dili kini matandi ang echo "no" nga pahayag nga gipatuman nga nagpakita "dili".

Pagtandi sa Numeros

Kon imong gitandi ang mga elemento nga mag-parse isip mga numero mahimo nimo gamiton ang mosunod nga mga operators nga pagtandi:

Mga pananglitan:

test 1-gaq 2 && echo "oo" || echo "no"

(nagpakita "dili" sa screen tungod kay 1 dili pareho 2)

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

(nagpakita "dili" sa screen tungod kay ang 1 dili mas dako o katumbas sa 2)

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

(nagpakita sa "dili" sa screen tungod kay ang 1 dili mas labaw sa 2)

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

(nagpakita sa "oo" sa screen tungod kay 1 dili kaayo o sama sa 2)

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

(nagpakita sa "oo" sa screen tungod kay 1 dili kaayo o sama sa 2)

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

(nagpakita sa "oo" sa screen tungod kay 1 dili managsama 2)

Pagpaanggid sa Teksto

Kon imong gitandi ang mga elemento nga magamit ingon nga mga linya mahimo nimo gamiton ang mosunod nga mga opereytor sa pagtandi:

Mga pananglitan:

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

(nagpakita "dili" sa screen tungod kay ang "string1" dili parehas nga "string2")

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

(nagpakita sa "oo" sa screen tungod kay ang "string1" dili parehas nga "string2")

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

(nagpakita sa "oo" sa screen tungod kay ang "string1" adunay hilo nga gitas-on nga labaw pa kay sa zero)

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

(nagpakita sa "dili" sa screen tungod kay ang "string1" adunay hilo nga gitas-on nga labaw pa kaysa zero)

Pagtandi sa mga File

Kon imong gitandi ang mga file mahimo nimo gamiton ang mosunod nga mga opereytor sa pagtandi:

Mga pananglitan:

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

(Kung ang file1 mas bag-o kay sa file2 nan ang pulong nga "oo" ipasundayag)

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

(kung ang file1 naglangkob sa pulong nga "oo" ang gipakita)

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

(kung ikaw adunay file1 nan ang pulong nga "oo" gipakita ")

Terminolohiya

Pagpaanggid sa Daghang Kondisyon

Hangtud niining tanan ang pagtandi sa usa ka butang batok sa lain apan unsa kon gusto nimo itandi ang duha ka kondisyon.

Pananglitan, kon ang usa ka hayop adunay 4 ka mga tiil ug moadto "moo" kini tingali usa ka baka. Ang pagsusi lang sa 4 ka mga bitiis dili garantiya nga ikaw adunay usa ka baka apan pagsusi sa tingog nga kini makahimo gayud.

Aron sulayan ang duha ka mga kondisyon sa makausa gamiton ang mosunod nga pahayag:

test 4 -eq 4 -a "moo" = "moo" && echo "usa kini ka baka" || echo "dili kini usa ka baka"

Ang importante nga bahin dinhi mao ang-usa nga mao ang alang sa ug.

Adunay usa ka mas maayo ug mas komon nga gigamit nga paagi sa paghimo sa sama nga pagsulay ug nga mao ang mosunod:

test 4-met 4 && test "moo" = "moo" && echo "usa kini ka baka" || echo "dili kini usa ka baka"

Ang lain nga pagsulay nga gusto nimo nga himoon mao ang pagtandi sa duha ka mga pahayag ug kung ang usa tinuod mao ang pag-output sa hilo. Pananglitan, kung gusto nimo masusi nga ang usa ka file nga ginganlan nga "file1.txt" o kung adunay usa ka file nga gitawag "file1.doc" mahimo nimong gamiton ang mosunod nga

test -e file1.txt -o -e file1.doc && echo "file1 anaa" || echo "file1 wala maglungtad"

Ang yawe nga bahin dinhi mao ang -o nga nagatindog o.

Adunay usa ka mas maayo ug mas komon nga gigamit nga paagi sa paghimo sa sama nga pagsulay ug nga mao ang mosunod:

test -e file1.txt || test -e file1.doc && echo "file1 anaa" || echo "file1 wala maglungtad"

Pagwagtang sa Test Keyword

Dili nimo kinahanglan nga gamiton ang pulong nga pagsulay aron mahimo ang pagtandi. Ang kinahanglan nimo nga buhaton mao ang paglakip sa pamahayag sa mga square brackets ingon sa mosunod:

[-e file1.txt] && echo "file1 anaa" || echo "file1 wala maglungtad"

Ang [ug] nagpasabut nga sama sa pagsulay.

Karon nahibal-an mo kini nga imong mapalambo ang pagtandi sa daghang kondisyon sama sa mosunod:

[4-adlaw 4] && ["moo" = "moo"] && echo "usa kini ka baka" || echo "dili kini usa ka baka"

[-e file1.txt] || [-e file1.doc] && echo "file1 anaa" || echo "file1 wala maglungtad"

Sumaryo

Ang test command mas mapuslanon sa mga script tungod kay imong sulayan ang bili sa usa ka variable batok sa lain ug pagkontrol sa agianan sa programa. Sa standard command line, mahimo nimo kini gamiton aron sulayan kung adunay file o