Kjøp Denne Shell Scripting Tutorial SOM EN PDF FOR bare $5 for vår første shell script, vil vi bare skrive et skript som sier»Hello World». Vi vil da prøve Å få mer Ut Av Et Hello Worldprogram enn noen annen opplæring du noensinne har lest : -)
Lag en fil (first.sh) som følger: first.sh
#!/bin/sh# This is a comment!echo Hello World # This is a comment, too!
Den første linjen forteller Unix at filen skal utføres av /bin/sh.Dette er Standard plasseringen Av Bourne shell på omtrent everyUnix system. Hvis DU bruker GNU / Linux, er /bin/sh normalt en symbolsk lenke til bash (eller nylig dash).
Den andre linjen begynner med et spesielt symbol: #
. Dette merkerlinjen som en kommentar, og den ignoreres helt av skallet.
det eneste unntaket er når den aller første linjen i filenstarter med #!
– som vår gjør. Dette er et spesielt direktivsom Unix behandler spesielt. Det betyr at selv om du bruker csh, ksh eller noe annet som ditt interaktive skall, må Det som følger tolkes Av Bourne-skallet. på Samme måte kan Et perl-skript starte med linjen #!/usr/bin/perl
for å fortelle ditt interaktive skall at programmet som følger skal kjøresav perl. For Bourne shell programmering, skal vi holde oss til #!/bin/sh.
den tredje linjen kjører en kommando: echo
, med to parametere, orarguments – den første er "Hello"
; den andre er "World"
.
Merk at echo
vil automatisk sette et enkelt mellomrom mellom parametrene.#
symbolet markerer fortsatt en kommentar; # og anythingfollowing det ignoreres av skallet.
kjør nå chmod 755 first.sh
for å gjøre tekstfilen kjørbar,og kjør ./first.sh
.
skjermen din skal da se slik ut:
$ chmod 755 first.sh
$ ./first.sh
Hello World
$
Du vil sannsynligvis ha forventet det! Du kan til og med bare kjøre:
$ echo Hello World
Hello World
$
la Oss nå gjøre noen endringer.
Merk Først at echo
setter ET mellomrom mellom parametrene. Sett noen mellomrom mellom » Hei » Og «Verden». Hva forventer du at produksjonen skal være? Hva med å sette EN FANE karakter mellom dem?
som alltid med shell programmering, prøv det og se.
utgangen er nøyaktig den samme! Vi kallerecho
programmed to argumenter; det bryr seg ikke mer enn cp
doesabout hullene i mellom dem.Endre koden igjen:
#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!
denne gangen fungerer Det. Du har sannsynligvis forventet det også, hvis du har erfaringav andre programmeringsspråk. Men nøkkelen til å forstå hva som gårpå med mer komplisert kommando og shell script, er å forstå og være i stand til å forklare: HVORFOR?
echo
har nå blitt kalt med bare ETT argument-strengen»Hello World». Det skriver ut dette nøyaktig.
poenget å forstå her er at skallet analyserer argumentene FØR du sender themon til programmet som kalles. I dette tilfellet striper det sitatene, men passererstrengen som ett argument.
som et siste eksempel, skriv inn følgende skript. Prøv å forutsi utfallet før du kjører det:
first2.sh
#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!
echo "Hello World"
echo "Hello * World"
echo Hello * World
echo Hello World
echo "Hello" World
echo Hello " " World
echo "Hello "*" World"
echo `hello` world
echo 'hello' world
Er alt som du forventet? Hvis ikke, ikke bekymre deg! Dette er bare noen av de tingene vi skal dekke i denne opplæringen … og ja, vi vil bruke kraftigere kommandoer enn echo
!
Tilbake: Filosofi Neste: Variabler (Del 1)