next up previous contents
Nästa: 13. Att få något Upp: 12. Avancerad Bashprogrammering Förra: 12.3 Ett spel

12.4 Felhantering

Om ett kommando misslyckas, så fortsätter Bash som vanligt utan att bry sig om felet. Betrakta till exempel följande program:

#!/bin/bash
cp bellmna bellmna.kopia
cp bellman bellman.kopia

Så här går det när vi kör programmet:$ ls bell*
bellman
$ fel
cp: bellmna: Filen eller katalogen finns inte
$ ls bell*
bellman        bellman.kopia
$
Det andra kommandot i programmet kördes trots att det första kommandot misslyckades och gav ett felmeddelande. Ibland vill man att programkörningen ska avbrytas omedelbart när ett fel uppstått. I så fall ska man ha med kommandot set -e i programmet. Vi ändrar det till följande:

#!/bin/bash
set -e
cp bellmna bellmna.kopia
cp bellman bellman.kopia2

Och så provar vi igen:$ fel
cp: bellmna: Filen eller katalogen finns inte
$ ls bell*
bellman        bellman.kopia
$
Den här gången avbröts programmet efter kommandot som misslyckades. Om man vill att fel återigen ska ignoreras, så ska man ge kommandot set +e.



Goran Andersson
1999-03-08