Bash skript

Allikas: Teadmusbaas

Bash Skript

Linux/BSD-operatsioonisüsteemide haldus

Koostaja: Kevin Puusild

Bash skript on tekstifail, millesse on kirjutatud üksteise järele programminimed või kooriku sisekäsud. Lisaks saab kasutada programmeerimisele iseloomulikke konstruktsioone, nagu tingimus, kordus- ja valiklause jne. Bash on interpreteeritav keel.

Skripti kirjutamine ja käivitamine

Bash skript kirjutatakse tekstiredaktoris, kusjuurel failil peab olema lugemis- ja käivitamisõigus.

Näiteks toome skpriti, mis kirjutab ekraanile "Näe, poolkuu".

#!/bin/sh

echo "Näe, poolkuu"

Selgituseks märgime, et

#!/bin/sh näitab interpretaatori nime echo on sisekäsk, mis väljastab ekraanile oma argumendi

Skript käivitakse käsurealt

bash~$ skript.sh

Heaks kombeks on skripti nimi lõpetada mõnetähelise kombinatsiooniga, mis viitab interpretaatorile - .sh

Skripti käivitamisel käivitatakse uus bash, milles skripti käsud täidetakse.

Muutuja ja väärtuse omistamine

Muutuja nimi peab algama tähe või alakriipsuga, kusjuures võib sisaldada neid ja ka numbreid. Muutuja tüüpi pole tarvis deklareerida.

Muutujale väärtuse omistamisel märgitakse teda vaid nimega (a_1), kuid talle viidates peab alustama muutuja nime dollar ($a_1). Näites omistatakse võrdusmärgi abil muutujale väärtus ja kasutatakse seda

#!/bin/sh

a_1=5

b_1=$a_1

c_1=Tere

echo $a_1

echo $b_1

echo $c_1

Tühikute olemasolu ja puudumine on oluline.

Kui muutujale väärtust omistades on vaja vältida metasümbolite erilist käsitlust, siis tuleb avaldis kirjutada ülakomade vahele, näiteks

#!/bin/sh

echo 'Ei asenda keskkonnamuutujat $OSTYPE tema väärtusega'

Kui on tarvis, et keskkonnamuutujad asenduksid oma väärtustega ning toimuks muutuja väärtustamine, siis kasutatakse jutumärke, näiteks

#!/bin/sh

echo "Keskkonnamuutujate asemele tekivad nende väärtused: $OSTYPE"

echo "Muutujad väärtustatakse: $(date)"

echo "Käsud väärtustatakse: `date`"

echo "Arimeetilne väärtustamine: 11 + 11 = $((11+11))"

Crontab

Crotab on aja põhine töö jaotus vahend kui nii võib öelda. Nimelt Crontabi ülessanne on õigetel aegadel panna tegema Bash seda mida on vaja teha. Kõige lihtsam näide, mul on vaja et Crontab paneks käima iga päev Bash skripti.

Seega et seda teha tuleb seadistada Crontabi käsk koos kellaajaga mis käivitab selle Bash skripti:

Cron.gif

Kasulikud lingid

Crontabi saate õpida siit (Link on inglise keeles): https://www.marksanborn.net/linux/learning-cron-by-example/

Bashi saate õpida siit (Link on inglise keeles): http://www.bash.academy/


Kasutatud materjalid

http://kuutorvaja.eenet.ee/programmeerimine/bash/shellscripts.html