cumpara acest Shell Scripting Tutorial ca PDF pentru doar 5 dolari pentru primul nostru script shell, vom scrie doar un script care spune”Hello World”. Vom încerca apoi să obținem mai mult dintr-un program Hello worldprogram decât orice alt tutorial pe care l-ați citit vreodată: -)
Creați un fișier (first.sh) după cum urmează: first.sh
#!/bin/sh# This is a comment!echo Hello World # This is a comment, too!
prima linie spune Unix că fișierul trebuie executat de /bin/sh.Aceasta este locația standard a shell Bourne pe doar despre everyUnix sistem. Dacă utilizați GNU / Linux,/bin / sh este în mod normal o legătură simbolică cu bash (sau, mai recent, dash).
a doua linie începe cu un simbol special:#
. Acest lucru marcheazălinia ca un comentariu și este ignorată complet de coajă.
singura excepție este atunci când prima linie a fișieruluiîncepe cu #!
– așa cum o face a noastră. Aceasta este o directivă specialăpe care Unix o tratează special. Înseamnă că, chiar dacă utilizați csh, ksh sau orice altceva ca shell interactiv, ceea ce urmează ar trebui interpretat de shell-ul Bourne.
în mod similar, un script Perl poate începe cu linia #!/usr/bin/perl
pentru a spune shell-ul interactiv că programul care urmează ar trebui să fie executedby perl. Pentru programarea shell – ului Bourne, vom rămâne la #!/bin/sh.
a treia linie rulează o comandă: echo
, cu doi parametri, orargumente-primul este "Hello"
; al doilea este "World"
.
rețineți că echo
va pune automat un singur spațiu între parametrii săi.#
simbolul marchează încă un comentariu; # și orice urmează este ignorat de coajă.
acum rulațichmod 755 first.sh
pentru a face fișierul text executabil și rulați./first.sh
.
ecranul dvs. ar trebui să arate astfel:
$ chmod 755 first.sh
$ ./first.sh
Hello World
$
probabil că vă așteptați la asta! Puteți chiar să rulați:
$ echo Hello World
Hello World
$
acum să facem câteva modificări.
În primul rând, rețineți căecho
pune un spațiu între parametrii săi. Puneți câteva spații între” salut „și”lume”. Care vă așteptați să fie rezultatul? Ce zici de a pune un caracter TAB între ele?
ca întotdeauna cu programare shell, încercați să-l și a vedea.
rezultatul este exact la fel! Apelămecho
programcu două argumente; nu-i pasă mai mult decâtcp
doesabout lacunele dintre ele.Acum modificați din nou codul:
#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!
de data aceasta funcționează. Probabil că v-ați așteptat și dacă aveți experiențăde alte limbaje de programare. Dar cheia pentru a înțelege ce se întâmplăpe comanda mai complexă și script-ul shell, este de a înțelege și de a puteaPentru a explica: de ce?echo
a fost apelat acum cu un singur argument – șirul”Hello World”. Se imprimă acest lucru exact.
punctul de a înțelege aici este că shell-ul analizează argumentele înainte de a trece themon la programul fiind numit. În acest caz, elimină citatele, dar treceșirul ca un argument.
ca exemplu final, tastați următorul script. Încercați să preziceți rezultatul înainte de a-l rula:
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
este totul așa cum vă așteptați? Dacă nu, nu vă faceți griji! Acestea sunt doar câteva dintre lucrurile pe care le vom acoperi în acest tutorial … și da, vom folosi comenzi mai puternice decât echo
!
Înapoi: filozofie următor: variabile (Partea 1)