PredchádzajúciHoreDomovNasledujúci

Skriptovanie - úvod

V prípade, že potrebujeme opakovane vykonať rozsiahlejšiu sevenciu príkazov je namiesto ich ručného zadávania užitočné vytvoriť si skript.

Skripty sú textové súbory obsahujúce príkazy v nejakom skriptovacom jazyku. Skripty môžme obvykle spustiť spustením príslušného interpretera a zadaním cesty k skriptu ako parametra.

Vytvorenie a spustenie jednoduchého skriptu

Cvičenie Vytvorte si súbor s názvom s1.sh a vložte doňho nasledujúci riadok:

echo "Hello world!"

Cvičenie Následne skript spustite pomocou príkazu:

$> /bin/bash ./s1.sh
Hello world!

V unixových systémoch je možné spúšťanie skriptov zjednodušiť pridaním nasledujúcej hlavičky na prvý riadok skriptu:

#!/cesta/k/interpretru [parametre...]

a pridaním prístupových práv na spustenie skriptu:

chmod u+x /cesta/k/skriptu

Cvičenie Skopírujte skript s1.sh do s2.sh.

$> cp s1.sh s2.sh

Cvičenie Pridajte do skriptu s2.sh hlavičku s cestou k interpretru /bin/bash, takze bude mať nasledovný obsah:

#!/bin/bash
echo "Hello world!"

Cvičenie Pridajte si prístupové práva na spustenie skriptu s2.sh:

$> chmod u+x ./s2.sh

Cvičenie Spustite skript s2.sh:

$> ./s2.sh
[Poznámka] Poznámka

Pri spúšťaní spustiteľných súborov, ktoré sú v adresároch, ktoré nie sú vymenované v premennej $PATH je potrebné uviesť (absolútnu alebo relatívnu) cestu k danému súboru, nie len jeho názov.

Parametre skriptu

Algoritmy implementované v skriptoch často bývajú parametrizované. Pre priamy prístup k prvým deviatim parametrom implementuje bash nasledujúce špeciálne premenné:

Cvičenie Vytvorte nový skript s3.sh s nasledujúcim obsahom:

#!/bin/bash
echo $#
echo 0:$0
echo 1:$1
echo 2:$2
echo 3:$3
echo 4:$4
echo 5:$5
echo 6:$6
echo 7:$7
echo 8:$8
echo 9:$9

Cvičenie Pridajte si prístupové práva na spustenie:

$> chmod u+x ./s3.sh

Cvičenie Spustite ho niekoľkokrát s rôznym počtom argumentov:

$> ./s3.sh
$> ./s3.sh A B C
$> ./s3.sh A B C D E F
$> ./s3.sh A B C D E F G H I
$> $PWD/s3.sh

Expanzia parametrov a premenných

Okrem získania hodnoty premennej alebo parametra umožňuje bash nad ich hodnotami vykonávať jednoduché operácie. V nasledujúcich odrážkach môže X byť názov premennej alebo číslo od 0 po 9.

Cvičenie Vytvorte skript s4.sh s nasledujúcim obsahom:

#!/bin/bash
echo $1_$2
echo ${1}_${2}
echo ${#1}
echo ${1:3}
echo ${1:2:2}
echo ${1#abc}
echo ${1%def}
echo ${1/cde/${2}}

Cvičenie Pridajte si prístupové práva a spustite ho:

$> chmod u+x ./s4.sh
$> ./s4.sh abcdef xyz

PredchádzajúciHoreDomovNasledujúci