Gwida għall-Bidu għal BASH - Tqabbil ta 'l-Oġġetti

01 ta '08

Gwida għall-Bidu għal BASH - Tqabbil ta 'l-Oġġetti

Tutorial BASH - Tqabbil Strings.

Fil-parti ta 'qabel tat-tutorja BASH ħarisna dikjarazzjonijiet kondizzjonali .

Dik il-gwida kienet twila ħafna iżda verament wera biss kif tikkontrolla l-fluss tal-loġika. Din il-gwida turi l-modi differenti li biha tista 'tqabbel il-varjabbli.

L-istampa ta 'hawn fuq turi l-ewwel eżempju fil-gwida ta' din il-ġimgħa:

#! / bin / bash

name1 = "gary"
name2 = "bob"

jekk ["$ name1" = "$ name2"]
allura
echo "l-ismijiet jaqblu"
inkella
echo "l-ismijiet ma jaqblux"
fi


Fl-iskritt ta 'hawn fuq iddefinijt żewġ varjabbli msejħa name1 u name2 u assenjahom il-valuri "gary" u "bob". Peress li l-varjabbli jinsabu bejn il-virgoletti jissejħu varjabbli tas-sekwenza li ssir aktar rilevanti hekk kif jibda l-tutorja.

L-iskrittura kollha hija tqabbel il-valur ta '$ name1 u $ name2 u jekk jaqblu mal-ħruġ is-sekwenza "l-ismijiet jaqblu" u jekk ma joħorġux is-sekwenza "l-ismijiet ma jaqblux".

Il-virgoletti madwar il-varjabbli $ name1 u $ name2 huma importanti għaliex jekk il-valur ta 'xi wieħed minnhom ma ġiex stabbilit allura l-iskrittra xorta sejjer jaħdem.

Per eżempju jekk $ name1 qatt ma ġie stabbilit allura inti tkun qed tqabbel "ma '" bob ". Mingħajr il-virgoletti inti tkun titħalla b '"bob" li jonqos b'mod ċar.

Tista 'wkoll tuża! = Notazzjoni biex tiddefinixxi mhux ugwali għal kif ġej:

jekk ["$ name1"! = "$ name2"]

02 ta '08

Gwida għall-Bidu għal BASH - Tqabbil ta 'Strings

Tutorial BASH - Tqabbil Strings.

Fl-eżempju ta 'hawn fuq it-test iqabbel l-istess żewġ kordi u jistaqsi l-mistoqsija li ma jidħlux qabel ma bob fl-alfabett?

Ovvjament it-tweġiba mhix.

L-iskript jintroduċi inqas mill-operatur (<). Peress li l-inqas mill-operatur jintuża wkoll għal direzzjoni mill-ġdid għandek taħrab minnha bil-linja mmejla (\) għax tfisser inqas minn dik ir-raġuni għaliex fl-iskritt hawn fuq qabblu "$ name1" \ <"$ name2".

L-oppost ta 'inqas minn huwa ovvjament ikbar minn. Minflok ma tuża \ .

Pereżempju

jekk ["$ name1" \> "$ name2"]

03 ta '08

Gwida għall-Bidu għal BASH - Tqabbil ta 'Strings

Tutorial BASH - Tqabbil Strings.

Jekk trid tittestja jekk varjabbli għandhiex valur tista 'tuża t-test li ġej:

jekk [-n $ isem2]

Fl-iskritt ta 'hawn fuq għedt jekk l-isem $ 2 ngħatax valur u jekk ma jkunx il-messaġġ "M'hemmx bob, qatt ma kien hemm bob".

04 ta '08

Gwida għall-Bidu għal BASH - Tqabbil ta 'Strings

Tutorial BASH - Tqabbil Strings.

Fuq il-pjastra tal-passat aħna tkopri jekk varjabbli ġietx stabbilita jew le. Kultant għalkemm varjabbli setgħet ġiet issettjata imma jista 'ma jkollhiex valur.

Per eżempju:

name1 = ""

Biex jiġi ttestjat jekk varjabbli għandux valur jew le (jiġifieri għandu tul ta 'żero) uża kif ġej:

jekk [-z $ name1]

Fl-iskritt t'hawn fuq issettja $ name1 għal sekwenza tat-tul taż-żero u mbagħad qabblu billi tuża -z. Jekk l-isem $ 1 huwa zero fit-tul il-messaġġ "gary spiċċa għall-lejla" se jintwera.

05 ta '08

Gwida għall-Bidu għal BASH - Numri ta 'Tqabbil

Tutorial BASH - Numri ta 'Tqabbil.

S'issa l-paraguni kollha kienu għall-kordi. Xi ngħidu dwar in-numri ta 'paragun?

L-iskritt ta 'hawn fuq juri eżempju ta' tqabbil ta 'żewġ numri:

#! / bin / bash

a = 4
b = 5

jekk [$ a = $ b]
allura
eku "4 = 5"
inkella
eku "4 ma tmissx 5"
fi

Biex tistabbilixxi varjabbli bħala numru sempliċement issettjaha mingħajr virgoletti. Tista 'mbagħad tqabbel in-numri b'sinjal ugwali.

Jiena nippreferi madankollu li tuża l-operatur li ġej biex tqabbel żewġ numri:

Jekk [$ a -eq $ b]

06 ta '08

Gwida għall-Bidu għal BASH - Numri ta 'Tqabbil

Tutorial BASH - Numri ta 'Tqabbil.

Jekk trid tqabbel jekk numru huwiex inqas minn numru ieħor tista 'tuża inqas minn operatur (<). Bħal fil-kordi għandek taħrab mill-inqas minn operatur bi slash. (\ <).

Mod aħjar ta 'tqabbil tan-numri huwa li minflok tintuża n-notazzjoni li ġejja:

Pereżempju:

jekk [$ a -lt $ b]

jekk [$ a -le $ b]

jekk [$ a -ge $ b]

jekk [$ a -gt $ b]

07 ta '08

Gwida għall-Bidu għal BASH - Numri ta 'Tqabbil

Tutorial BASH - Numri ta 'Tqabbil.

Finalment għal din il-gwida, jekk trid ittestja jekk żewġ numri humiex differenti tista 'tuża jew inqas minn u akbar minn operaturi flimkien (<>) jew -ne kif ġej:

jekk [$ a <> $ b]

jekk [$ a -ne $ b]

08 ta '08

Gwida għall-Bidu għal BASH - Operaturi ta 'Tqabbil - Sommarju

Jekk tlift l-ewwel tliet partijiet ta 'din il-gwida tista' ssibhom billi tikklikkja fuq il-links li ġejjin:

Fil-parti li jmiss tal-gwida se nkopri l-aritmetika.