Qu'est-ce que Linux pour VMS DCL «ON ERROR»?

8

En utilisant les scripts de commande VMS DCL, on peut détecter des erreurs en utilisant la on errorcommande:

$ on error then goto MyErrorHandler
$ directory samiam.txt
$ delete x.txt
$ exit
$MyErrorHandler:
$ print "Something."

Comment fait-on cela sous Linuxland?

Dans l'exemple, une erreur avec directoryou deleteentraînera le contrôle MyErrorHandler.

CW Holeman II
la source

Réponses:

8

Je pense que vous voulez la fonction trap , en particulier:

error_func() 
{
    echo 'An error occurred!'
    exit 1
}

trap error_func ERR

Les erreurs passeront plus tard à la fonction. Ceci est pris en charge par au moins bash, zsh et ksh.

Matthew Flaschen
la source