Kas yra âShell Scriptâ?
Shell scenarijus apima komandų serijos raÅ¡ymÄ paprasto teksto faile, dažnai vadinamu Shell Script. Å iuos scenarijus vykdo apvalkalas, kuris yra komandų eilutÄs vertÄjas. Dažniausiai pasitaikantys apvalkalai apima
- Bash (Bourne Again SHell)
- Zsh (Z Shell)
- Žuvis.
Apvalkalo scenarijai gali skirtis nuo paprastų vienarūšių iki sudÄtingų programų, be to, jie naudojami įvairioms užduotims atlikti, pavyzdžiui, failų tvarkymui, sistemos administravimui ir pasikartojanÄių užduoÄių automatizavimui.
âShellâ scenarijų pranaÅ¡umai:
Automatizavimas: Shell scenarijai leidžia vartotojams automatizuoti pasikartojanÄias užduotis, taupant laikÄ ir sumažinant žmogiÅ¡kųjų klaidų tikimybÄ.
Tinkinimas: naudotojai gali kurti scenarijus, pritaikytus jų konkretiems poreikiams, užtikrindami aukÅ¡tÄ tinkinimo laipsnį.
Paketinis apdorojimas: Shell scenarijai puikiai tinka paketinio apdorojimo užduotims, kai reikia paeiliui vykdyti kelias komandas.
Sistemos administravimas: Shell scenarijai dažniausiai naudojami sistemos administravimo užduotims, pvz., atsarginÄms kopijoms kurti, žurnalo rotacijai ir programinÄs įrangos diegimui.
Paprasto apvalkalo scenarijaus rašymas:
Sukurkime pagrindinį apvalkalo scenarijų, kuris spausdina sveikinimo praneÅ¡imÄ . Atidarykite teksto rengyklÄ ir sukurkite failÄ pavadinimu greeting.sh. PridÄkite Å¡ias eilutes:
#!/bin/bash
# This is a simple shell script
echo "Hello, welcome to the world of shell scripting!"
IÅ¡saugokite failÄ ir padarykite jį vykdomÄ jį paleisdami Å¡iÄ komandÄ terminale:
chmod +x greeting.sh
Dabar galite vykdyti scenarijų:
./greeting.sh
IÅ¡vestis turÄtų bÅ«ti:
Hello, welcome to the world of shell scripting!
âShellâ scenarijų paleidimas âUbuntuâ ir âLinuxâ:
Dabar aptarsime kaip paleisti .sh failÄ Ubuntu ir Linux.
Padarykite scenarijų vykdomÄ jį: prieÅ¡ paleisdami apvalkalo scenarijų įsitikinkite, kad jis yra vykdomas. Naudokite komandÄ chmod, kaip parodyta anksÄiau.
Eikite į scenarijaus katalogÄ : atidarykite terminalÄ ir naudokite komandÄ cd, kad pereitumÄte į katalogÄ , kuriame yra jÅ«sų apvalkalo scenarijus.
Paleiskite scenarijų: Vykdykite scenarijų terminale įvesdami
./scriptname.sh, pakeisdami scenarijaus pavadinimÄ tikruoju scenarijaus pavadinimu.
cd path/to/script
./greeting.sh
- Naudojant komandÄ Bash: jei jÅ«sų scenarijus prasideda #!/bin/bash (žinoma kaip shebang), taip pat galite jį paleisti naudodami komandÄ bash.
bash greeting.sh
KÄ âShell Scriptâ reiÅ¡kia $@?
Apvalkalo scenarijuje $@ reiÅ¡kia visus komandinÄs eilutÄs argumentus, perduodamus scenarijui. Jis dažnai naudojamas norint nurodyti argumentų sÄ raÅ¡Ä kaip atskirus objektus. Kai naudojamas dvigubose kabutÄse, pvz., $@, jis iÅ¡saugo atskirus argumentus, atsižvelgia į tarpus ir specialiuosius simbolius.
Štai trumpas paaiškinimas:
$@: nurodo visus padÄties parametrus (argumentus), perduodamus scenarijui arba funkcijai. Kiekvienas argumentas traktuojamas kaip atskiras žodis.$@: kai kabutÄs yra dvi, iÅ¡saugomas argumentų atskyrimas, atskiruose argumentuose leidžiama naudoti tarpus arba specialiuosius simbolius.
Å tai paprastas pavyzdys iliustruoti:
#!/bin/bash
# Save this script as example.sh
echo "The total number of arguments is: $#"
echo "The arguments are: $@"
echo "The arguments with double quotes are: \"$@\""
Kai paleidžiate šį scenarijų su argumentais, pavyzdžiui:
bash example.sh arg1 "argument 2" arg3
Išvestų:
The total number of arguments is: 3
The arguments are: arg1 argument 2 arg3
The arguments with double quotes are: "arg1" "argument 2" "arg3"
Kaip matote, $@ reiškia visus argumentus, o $@ išsaugo atskirus argumentus, net jei juose yra tarpų.