Ignorer les liens de navigation | |
Quitter la vue de l'impression | |
Guide d'administration des systèmes Oracle® ZFS Storage Appliance, version 2013.1.3.0 |
A propos d'Oracle ZFS Storage Appliance
Fonctionnalités clés d'Oracle ZFS Storage Appliance
Services de données Oracle ZFS Storage Appliance
Configuration de l'appareil Oracle ZFS Storage Appliance
Interface utilisateur de navigateur (BUI, Browser User Interface)
Icônes de la barre d'outils d'analyse
Icônes de mappage des identités
Interface de ligne de commande (CLI, Command Line Interface)
Utilisation de l'écriture de scripts CLI
Utilisation des commandes de traitement par lots
Présentation des commandes d'écriture de script CLI
Accès à l'environnement de script CLI
Présentation des fonctions CLI intégrées
Utilisation de la fonction run
Utilisation de la fonction get
Utilisation de la fonction list
Utilisation de la fonction children
Utilisation de la fonction Choices
Utilisation des fonctions pour la génération des sorties
Configuration d'Oracle ZFS Storage Appliance
Lorsque le système génère une erreur, une exception est levée. L'exception est généralement un objet qui contient les membres suivants :
code : code numérique associé à l'erreur
message : message lisible à l'oeil associé à l'erreur
Les exceptions peuvent être interceptées et gérées, ou elles peuvent être levées hors de l'environnement de script. Si un environnement présente une exception non interceptée, la CLI affiche les informations détaillées à ce sujet. Par exemple :
dory:> script run('not a cmd') error: uncaught error exception (code EAKSH_BADCMD) in script: invalid command "not a cmd" (encountered while attempting to run command "not a cmd")
Pour voir de plus amples informations sur l'exception, vous pouvez l'intercepter et la vider :
dory:> script try { run('not a cmd') } catch (err) { dump(err); } { toString: <function>, code: 10004, message: 'invalid command "not a cmd" (encountered while attempting to run command "not a cmd")' }
Ceci vous permet également de mettre en oeuvre une gestion explicite des erreurs, par exemple :
#!/usr/bin/ksh -p ssh -T root@dory <<EOF script try { run('shares select default select $1'); } catch (err) { if (err.code == EAKSH_ENTITY_BADSELECT) { printf('error: "$1" is not a share in the ' + 'default project\n'); exit(1); } throw (err); } printf('"default/$1": compression is %s\n', get('compression')); exit(0); EOF
Si ce script est nommé "share.ksh" et exécuté avec un nom de partage incorrect, un message d'erreur explicite est généré :
% ksh ./share.ksh bogus error: "bogus" is not a share in the default project