[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash script vraagje



On Sun, Aug 31, 2014 at 08:33:35PM +0200, Geert Stappers wrote:
> On Sun, Aug 31, 2014 at 08:22:38PM +0200, mourik jan heupink - merit wrote:
> > Hoi allemaal,
> > 
> > Ik moet een heel aantal records uit samba databases verwijderen, en
> > heb daar een scriptje ge-erft (niet zelf gemaakt kortom)  met
> > 177.000 tdbdel commando's, een klein stukje van t begin:
> > 
> > #!/bin/bash
> > #
> > 
> > set +e
> > 
> > # record 1
> > #dn:
> > DC=P002517\0ADEL:37f31e47-eaa2-4ed9-bb4e-ce08113181d7,CN=Deleted
> > Objects,DC=DomainDnsZones,DC=samba,DC=company,DC=com
> > echo "37f31e47-eaa2-4ed9-bb4e-ce08113181d7"; ldbdel -d 0 -H sam.ldb
> > "<GUID=37f31e47-eaa2-4ed9-bb4e-ce08113181d7>" --show-recycled
> > --relax || exit $?
> > 
         <knip/>
> > 
> > 
> > Nu is het probleem dat die database zich wijzigt, en dat er dus
> > tdbdel commando's zullen mislukken. ik wil echter wel dat t script
> > gewoon doorgaat met het volgende tdbdel. Dat gebeurt nu niet, hij
> > knalt eruit bij de eerste de beste error.
> > 
> > Ondanks "set +e" aan het begin, wat ervoor zou moeten zorgen dat ie
> > wèl doorgaat bij een mislukt commando. Dat werkt dus niet..?
> > 
> > Kan iemand me zeggen hoe ik kan zorgen dat script kan aanpassen
> > zodat ie bij elke fail wèl gewoon doorgaat met de volgende regel?
> 
> voeg "of altijd_goed" toe.
> Misschien moet het uitgesproken worden als "anders waar".
> In bash notatie "|| true"
> 

Oeps, iets te snel gereageerd.

Je script stop door de '|| exit $?'

De `exit $?` wordt uitgevoerd omdat het eerdere commando misging.

Vervang '|| exit $?' door bijvoorbeeld '|| echo Oeps'


Groeten
Geert Stappers
-- 
Leven en laten leven


Reply to: