[linux] Met bash parameter functie aanroepen

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Zo Dec 17 21:40:30 CET 2017


Aldus schreef Frans van Berckel op Sun, Dec 17, 2017 at 07:31:14PM +0100:
> On Sun, 2017-12-17 at 16:21 +0100, Frans van Berckel wrote:
> 
> > Ik ben een bash script aan het schijven. Een onderdeel daarin plaats
> > ik het liefst in een functie, met de naam download.
> > 
> > De vraag is alleen, hoe kan ik deze functie het beste laten
> > uitvoeren, met een parameter bij het starten van het script?
> > 
> > # lnxsrc2pkg.sh download
> > 
> > De opzet is, als dat werkt, omdat met meer functies te doen.
> > 
> > En een soort van help tekst, van als er helemaal geen parameter
> > achter het bash script staat, is ook handig voor het gebruik, denk
> > ik. Heb jij zoiets al eens gemaakt?
> 
> Soms kan een idee, om één en ander op te delen in functies, ook
> gewoon best in schoonheid sterven. Dat het een oplossing onnodig
> ingewikkeld maakt. Dat je zoiets als # cd meermaals gaat aanroepen. En
> het zelfde geldt eigenlijk voor # apt-get. En nog een paar.
> 
> Ik ben er gewoon nog niet helemaal uit. Weet je wat, ik slaap er nog
> een nachtje over.
> 
> De source van het bash script zit in de bijlage.
> 
> Met vriendelijke groet,
> 
> 
> Frans van Berckel


Beste Frans,

Wat dacht je van zoiets als ?

for package in wget xz-utils libncurses-dev coreutils
do
  if ! apt-get install ${package} -y
  then
    echo "Failed to install ${package}!" >&2
    exit 1
  fi
done

Eventueel voeg je een commando toe om te testen of het pakket al
geïnstalleerd is.

Ook op enkel andere plaatsen, zoals 'wget' kan het zinvol zijn om
te controleren of de opdracht slaagde in plaats van zomaar door
te lopen naar de volgende regel in je script.


Suc6,



Daniel




Meer informatie over de Linux maillijst