Ahoana ny fandehan-kevitra amin'ny bash-soratra

Ny baiko, ny famantarana sy ny ohatra

Azonao atao ny manoratra bokotra bash toy ny adihevitra voatondro rehefa nantsoina avy ao amin'ny baikon'ny baiko ny script. Ity fomba fampiasana ity dia ampiasaina raha toa ka ny script dia tsy maintsy manatanteraka asa hafa kely dia miankina amin'ny soatoavin'ny parameter input (ny hevitra).

Azonao atao, ohatra, ny script iray antsoina hoe "stats.sh" izay manao fepetra manokana eo amin'ny rakitra iray, toy ny fanisana ny teniny. Raha te hampiasa an'io script io amin'ny doka maro ianao, dia tsara kokoa ny mametraka ny anaran'ny rakitra ho toy ny adihevitra, mba hahafahanao mampiasa ny script hoatr'izany amin'ny rakitra rehetra. Raha ohatra ka, ny "hiralist" ny anaran'ilay rakitra dia tokony hiditra amin'ity baiko manaraka ity ianao:

sh stats.sh songlist

Ny valiny dia azo jerena ao anaty script iray mampiasa ny $ 1, $ 2, $ 3, sns., Izay $ 1 dia manondro ny laharana voalohany, $ 2 ho an'ny fanoherana faharoa, sy ny sisa. Ity dia aseho amin'ity ohatra manaraka ity:

FILE1 = $ 1 wc $ FILE1

Ho an'ny famakiana dia alaivo ny fari-piainana miaraka amin'ny anaran'ny famaritana ny sandan'ny adihevitra voalohany ($ 1), ary miantsoa ny laharan-tariby ( wc ) amin'ny fiteny ($ FILE1).

Raha manana isa maromaro ianao, dia azonao atao ny mampiasa ny "$ @" (variable) "$ @". Midika izany fa afaka mampiasa fehezanteny iray ianao mba handaminana ny tsirairay, araka ny asehon'ity ohatra manaraka ity:

Ho an'ny FILE1 amin'ny "$ @" ataovy ny $ FILE1

Ity misy ohatra iray amin'ny fomba hiantsoana ity script ity miaraka amin'ny hevitra avy amin'ny baiko baiko:

sh stats.sh songlist1 songlist2 songlist3

Raha misy sahan-kevitra manana toerana, dia mila mametraka azy miaraka amin'ny teny filamatra tokana. Ohatra:

sh stats.sh 'songlist 1' 'songlist 2' 'songlist 3'

Matetika ny script dia nosoratana mba hahafahan'ny mpampiasa mametraka hevitra amin'ny alàlan'ny sainam-pirenena. Amin'ny alalan'ny fomba fisainana, dia azonao atao ihany koa ny mametraka sasantsasany amin'ny fanamarihana tsy mety.

Aleo lazaina fa manana script ianao izay mamerina ny fampahalalana avy amin'ny tahiry iray mifototra amin'ireo fepetra voatondro, toy ny "username", "daty", ary "vokatra", ary mamoaka tatitra amin'ny "format" voafaritra. Ankehitriny dia te-hanoratra ny script ianao mba hahafahanao mandalo ao anatin'io mari-pamantarana io rehefa miantso ny script. Mety mitranga izany:

makereport -u jsmith -p notebooks -e 10-20-2011 -f pdf

Bash dia manazava io fiasa io miaraka amin'ny "tifitra". Ho an'ity ohatra etsy ambony ity, azonao ampiasaina ny tapakila toy izao:

Ity dia fe-potoana izay mampiasa ny "tifitra" ary ny antsoina hoe "optstring", amin'ity tranga ity "u: d: p: f:", mba hanombohana ny hevitra. Ny rindran-damina mandehandeha amin'ny alàlan'ny fikolokoloana, izay ahitana ny sainina izay azo ampiasaina handresy lahatra, ary manome ny lanjan'ny hevitra omen'io sainam-pirenena io amin'ny "safidy". Ny fanambarana momba ny tranga dia mamaritra ny sandan'ny "safidy" "variable" any amin'ny fari-piadidia maneran-tany izay azo ampiasaina rehefa vita ny vakiteny rehetra.

Ny kôpônina ao amin'ny optstring dia midika fa ny soatoavina dia takiana amin'ny sainam-pandehanana. Ao amin'io ohatra etsy ambony io, dia misy tsangambato maromaro ny saina rehetra: "u: d: p: f:". Midika izany fa ilaina ny sainana rehetra. Raha toa, ohatra, ny sainan'ny "d" sy "f", ohatra, dia tsy tokony ho sarobidy, ny "optic" dia "u: dp: f".

Ny doloma iray eo am-piandohan'ny fialan-tsasatra, ohatra ": u: d: p: f:", dia manana dikany tanteraka. Izany dia mamela anao hitantana ny sainam-pirinty izay tsy misy solontena. Amin'io tranga io, ny sanda "variable" safidy dia atao amin'ny "?" ary ny sandan'ny "OPTARG" dia napetraka amin'ny saina tsy ampoizina. Azonao atao ny mampiseho hafatra diso mety hampilaza ny mpampiasa ilay fahadisoana.

Ny fanamarihana izay tsy misy sainam-pirenena dia tsy raharahan-tsofina. Raha toa ka tsy misy fepetra voalaza ao amin'ny baikom-pifidianana rehefa voantso ny script, dia tsy misy zava-mitranga, raha tsy ampiasainao manokana io tranga io ao amin'ny code ou. Ny sombin-kevitra rehetra tsy voatanisa amin'ny takelaka dia mbola azo alaina miaraka amin'ny $ 1, $ 2, sns.