Overzichtelijker scripts met Shell Script Loader
Gepubliceerd: Dinsdag 12 april 2011
Auteur: Koen Vervloesem
Als je shellscripts wat langer worden, is het belangrijk voor het overzicht dat je ze opdeelt in modules. Een hulpscript zoals Shell Script Loader biedt je standaardfuncties om subscripts te laden.
Van Shell Script Loader is onlangs versie 0.1 uitgekomen. Het script heeft twee edities: base (0) en extended (0X), met als nieuwste versie dus 0.1 respectievelijk 0X.1. De extended-editie bevat van een aantal functies uitgebreide versies die ook patronen en reguliere expressies aanvaarden. Shell Script Loader ondersteunt de bekendste shells, waaronder Bash, Ksh, Pdksh en Zsh, maar in het algemeen elke shell die compatibel is met de originele Bourne shell, zoals Ash en het door Debian en Ubuntu gebruikte Dash.
Als je de Shell Script Loader in je eigen scripts wil gebruiken, dan laad je eerst loader.sh in met:
. loader.sh
Daarna geef je de zoekpaden op waarin Shell Script Loader naar scripts zoekt:
loader_addpath
Vanaf nu kun je scripts in één van de geladen paden laden door eenvoudig de bestandsnaam op te geven (al kan een absoluut pad ook nog altijd):
load script.sh
Dit laadt het script echter sowieso, ook als je het een tweede keer laadt. Wil je een script enkel de eerste keer laden, gebruik dan include:
include script.sh
Verder is er nog call, dat hetzelfde doet als load, maar het script in een subshell uitvoert:
call script.sh
Overigens kun je aan load, include en call ook nog argumenten na de bestandsnaam opgeven. Deze argumenten worden dan aan het script doorgegeven.
Als je al je hulpscripts geladen hebt, kun je loader.sh uit het geheugen verwijderen met loader_finish. Nog meer hulpfuncties vind je op de website van Shell Script Loader, evenals uitleg over de uitgebreide versies loadx, includex en callx in de extended-editie, die ook globpatronen en reguliere expressies ondersteunen voor bestandsnamen van te laden scripts. In principe kun je de functionaliteit die Shell Script Loader aanbiedt ook zelf schrijven, maar de hulpfuncties van het script kunnen je heel wat tijd besparen, waardoor je je kunt concentreren op het schrijven van je shell scripts zelf.
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
