Ahoana ny fomba fampiasana ny fepetra fitsapana ao anaty baskety?

Ny baiko fanadinana dia azo ampiasaina amin'ny linux baikon'ny Linux mba hampitaha ny singa iray mifanohitra amin'ny hafa, fa matetika izy io no ampiasaina amin'ny script scripts BASH ho anisan'ny fanambarana fehezanteny izay mifehy ny lojika sy ny programa mikoriana.

Ohatra fototra

Azonao atao ny manandrana ireo baiko ireo amin'ny alàlan'ny fanokafana fikandrana iray .

test 1 -eq 2 && echo "eny" || Echo "tsia"

Ity baiko etsy ambony ity dia azo ravana araka izao manaraka izao:

Amin'ny ankapobeny, ny baiko dia mampitaha ny 1 hatramin'ny 2 ary mifanandrify amin'ilay fehezan-teny hoe "eny" dia ampiharina izay mampiseho "eny" ary raha toa ka tsy mifanaraka amin'ny teny hoe "tsia" dia atao ny fanambarana izay mampiseho "tsia".

Fampitahana Numbers

Raha ampitahainao ireo singa izay mampiseho ireo tarehimarika azonao ampiasaina ireto fampitahana fampitahana manaraka ireto:

ohatra:

test 1 -eq 2 && echo "eny" || Echo "tsia"

(mampiseho "tsia" amin'ny efijery satria 1 tsy mitovy 2)

test 1 -ge 2 && echo "eny" || Echo "tsia"

(mampiseho "tsia" amin'ny efijery satria 1 dia tsy lehibe kokoa na mitovy 2)

test 1 -t 2 && echo "eny" || Echo "tsia"

(mampiseho "tsia" amin'ny efijery satria 1 dia tsy mihoatra ny 2)

test 1 -le 2 && echo "eny" || Echo "tsia"

(mampiseho "eny" mankany amin'ny efijery satria 1 dia kely na mitovy amin'ny 2)

test 1 -t 2 && echo "eny" || Echo "tsia"

(mampiseho "eny" mankany amin'ny efijery satria 1 dia kely na mitovy amin'ny 2)

test 1 -ne 2 && echo "eny" || Echo "tsia"

(mampiseho "eny" mankany amin'ny efijery satria 1 tsy mitovy 2)

Fampitahana ny lahatsoratra

Raha ampitahainao ireo singa manaparitaka toy ny tady dia azonao ampiasaina ireto mpampihatra fampitahana manaraka ireto:

ohatra:

test "string1" = "string2" && echo "eny" || Echo "tsia"

(mampiseho "tsia" amin'ny efijery satria "string1" dia tsy mitovy "string2")

test "string1"! = "string2" && echo "eny" || Echo "tsia"

(mampiseho "eny" mankany amin'ny efijery satria "string1" dia tsy mitovy "string2")

test -n "string1" && echo "eny" || Echo "tsia"

(mampiseho "eny" mankany amin'ny efijery satria "string1" dia manana lamosina loko lehibe kokoa noho ny zero)

test -z "string1" && echo "eny" || Echo "tsia"

(mampiseho ny "tsia" amin'ny efijery satria "string1" dia manana lamosina loko lehibe kokoa noho ny zero)

Fampitahana ny rakitra

Raha toa ka mampitaha rakitra ianao dia afaka mampiasa ireto mpampihatra fampitahana manaraka ireto:

ohatra:

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

(Raha toa ny file1 dia vao haingana kokoa noho ny file2 dia haseho ny teny hoe "eny")

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

(raha misy ny file1 dia haseho ny teny hoe "eny")

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

(raha manana file1 ianao dia haseho ny teny hoe "eny")

voambolana

Ampitahao ny fepetra maro

Hatreto, ny zava-drehetra dia mampitaha zavatra iray amin'ny hafa, fa ahoana raha te hifanaraka amin'ny fepetra roa ianao.

Ohatra, raha misy biby manana tongotra efatra ary mandeha "moo" dia angamba ombivavy. Ny fanamarinana tsotra fotsiny ho an'ny tongotra efatra dia tsy manome antoka fa manana ombivavy ianao fa manamarina ny feo tsy maintsy atao.

Mba hitsapana ireo fepetra roa ireo indray mandeha dia ampiasao ity fanambarana manaraka ity:

test 4 -eq 4 -a "moo" = "moo" && echo "ombivavy" || Echo "tsy ombivavy izany"

Ny ampahany manan-danja eto dia ny -a izay mijoro sy.

Misy fomba tsara kokoa sy ampiasaina amin'ny fomba mahazatra toy izany, ary toy izao manaraka izao:

test 4 -eq 4 && test "moo" = "moo" && echo "omby vavy" || Echo "tsy ombivavy izany"

Ny fisedrana iray hafa azonao atao dia ny mampitaha fanambarana roa ary raha ny iray dia ny vokatra marina. Ohatra, raha te-hanamarina ianao fa misy ny rakitra antsoina hoe "file1.txt" na misy rakitra antsoina hoe "file1.doc" dia afaka mampiasa ireto baiko manaraka ireto ianao

test -e file1.txt -o -e file1.doc && echo "file1 misy" || Echo "file1 tsy misy"

Ny ampahany manan-danja eto dia ny -o izay mijoro na.

Misy fomba tsara kokoa sy ampiasaina amin'ny fomba mahazatra toy izany, ary toy izao manaraka izao:

test -e file1.txt || test -e file1.doc && echo "file1 misy" || Echo "file1 tsy misy"

Esory ny teny faneva

Tsy mila mampiasa ny teny hoe test ianao mba hanatanterahana ny fampitahana. Ny zava-drehetra tokony hataonao dia asio ny fanambarana ao amin'ny efamira mitovy:

[-efa file1.txt] && echo "file1 misy" || Echo "file1 tsy misy"

Ny [ary] dia midika fa mitovy amin'ny fitsapana.

Ankehitriny dia fantatrao fa afaka manatsara ianao amin'ny fampitahana ireo fepetra marobe amin'ny manaraka:

[4 -q 4] && ["moo" = "moo"] && echo "omby vavy" || Echo "tsy ombivavy izany"

[-e fichier1.txt] || [-e file1.doc] && echo "file1 misy" || Echo "file1 tsy misy"

famintinana

Ny baiko fanandramana dia ilaina kokoa amin'ny scripty satria azonao atao ny mijery ny lanjan'ny fari-pifanarahana iray amin'ny hafa sy ny fandaminana ny programa. Azonao atao ny mampiasa azy io mba hizahana raha misy ny rakitra iray