skrive en enkel bash manuskript

, det første skridt er ofte den sværeste, men ikke ' ikke at lade det stoppe dig.hvis du og' aldrig ønskede at lære at skrive et manuskript, men har ' skal ikke vide, hvor man skal begynde, det er din heldige dag, hvis det er første gang, du skriver et manuskript, lad ' t bekymre — shell scripting er ikke så kompliceret.det er, du kan gøre nogle komplicerede ting med shell manuskripter, men du kan komme i gang.hvis du ved, hvordan man udfører opgaver på kommando linjen, kan du lære at skrive simpelt manuskripter i bare 10 minutter.alt du behøver, er en tekst, redaktør og en idé om, hvad du vil gøre.vi starter i det små og anvendelse af manuskripter til at automatisere små opgaver.over tid, du kan bygge videre på, hvad du ved, og ender med, at vi gør mere og mere med drejebøger.,,,,,,, starter,,,, hver manuskript begynder med en " molevitten ", og vejen til shell, som du vil have manuskriptet til brug som så:,,,, #!/bin /fest, " #!", combo kaldes sammen med de fleste unix - nørder.det er, som de skal beslutte, hvilke tolk at løbe resten af manuskriptet, og ignoreret af shell, som rent faktisk har manuskriptet.forvirret?manuskripter kan blive skrevet til alle former for tolke og mdash; fest, tsch, zsh eller andre skaller eller perl, slange, og så videre.du kunne udelade det, hvis du ville løbe manuskriptet ved at købe det i skal, men lad ' s redde os selv nogle problemer og tilføje, at det at give manuskripter drives uden interaktivt.,, hvad ' er den næste?du kunne have lyst til at indsætte en bemærkning eller to om, hvad det er.forord bemærkninger med hash (#) karakter:,,,, #!/bin /fest&#simpelt manuskript, lad ' s siger, du vil løbe en rsync kommando fra manuskriptet, snarere end at skrive det hver gang.bare tilføje rsync ordre til det, at du vil bruge:,,,, #!/bin /fest&#rsync manuskript rsync - avh... udelukke = " *. bak " /home /user /documents //media /diskid /user_backup /documents /,, at redde din fil, og derefter sørge for, at det ' der kan fuldbyrdes.du kan gøre dette ved hjælp af de chmod nytteværdi, som ændrer en fil ' s tilstand.at gøre det, så det er gennemførligt, som dig og ikke de øvrige brugere på et system, der anvender " chmod 700 scriptname ". - det kan du læse, skrive - og henrette (kørselsposition) manuskriptet, - - men kun din bruger.at se resultaterne, løb er - lh scriptname og du ' ll se sådan her:,,,, - rwx ------ 1 jzb jzb 21 2010-02-01 03:08 echo, første kolonne af rettigheder, rwx, viser, at ejeren af sagen (jzb), r, ead, w, ceremoni, og e x, ecute tilladelser.de øvrige kolonner med en bindestreg, viser, at andre brugere har ingen rettigheder for det hele.,, variabler, ovennævnte manuskript er nyttigt, men det er svært krypterede kanaler.det kan ikke være et problem, men hvis du vil skrive længere manuskripter, at henvisningen veje ofte, vil du sikkert gerne udnytte variabler.her og' en hurtig prøve:,,,, #!/bin /fest&#rsync ved hjælp af variabler sourcedir = /home /user /documents /destdir = /media /diskid /user_backup /documents /rsync - avh... udelukke = " *. bak ". $sourcedir $destdir, der ' er ikke meget gavn, hvis du kun reference de fortegnelser, men hvis de ' er anvendt flere gange, og' er meget lettere at ændre dem på ét sted, end at ændre dem i et manuskript.,, at input, ikke - interaktive manuskripter er nyttige, men hvad, hvis du er nødt til at give det nye oplysninger, hver gang det ' s løb?for eksempel, hvad hvis du vil skrive et manuskript til at ændre en fil?en ting, du kan gøre, er at tage et argument fra kommando linjen.jeg f.eks., da du løb " manuskript fu " det vil tage navnet på det første argument (fu):,,,, #!/bin /bash echo $1, her er fest vil læse kommando linjen og echo (tryk) det første argument, - - det er den første serie efter kommandoen.,, du kan også bruge læse at acceptere brugerinput.lad ' de siger, at de ønsker at tilskynde brugere til input:,,,, #!/bin /bash echo - e ", indtast dit navn: " læs navn echo ", rart at møde dig $navn ",, det manuskript vil vente på, at brugeren type i deres navn (eller andre input, for den sags skyld) og bruge det som den variable $navn.meget simpelt, ikke?lad ' s samler det hele i et manuskript, som kunne være nyttige.lad ' de siger, at de ønsker at have et manuskript, som vil bakke op om et register de specificeres på kommando linjen til en fjerntliggende vært:,,,, #!/bin /bash echo - e " hvad fortegnelse vil du gerne tilbage?" læs adresseregister destdir = denne e - mail - adresse er beskyttet fra spambots.du har brug for javascript mulighed for at betragte den: $directory /rsync... fremskridt - avze ssh - udelukke = " *. iso ". $over $destdir, det manuskript vil læse på input fra kommando linjen og erstatte det som bestemmelsessted adresseregister i target - systemet, såvel som de lokale register det vil være det.det ser måske lidt kompliceret som en sidste manuskript, men alle de ting, som du har brug for at vide, at det er ret enkelt.en lille prøve og fejl, og du og', vil være at skabe nyttige manuskripter til din egen., selvfølgelig, det er bare skrabe overfladen af smadre scripting.hvis du og' er interesserede i at lære mere, sørg for at se på bash vejledning for begyndere.



Previous:
Next Page: