J'ai un script de shell poisson dont le comportement par défaut est d'envoyer un email une fois terminé. Je voudrais le modifier pour répondre à un argument nomail
à partir de la ligne de commande. Ainsi, par exemple, l'exécution du script normalement produirait un e-mail:Ecriture d'un script Fish Shell avec un argument optionnel
michaelmichael: ~/bin/myscript
Mais si elle est exécutée avec le commutateur nomail
, il ne serait pas envoyer l'e-mail de confirmation:
michaelmichael: ~/bin/myscript nomail
Si Je lance le script avec l'argument nomail
, ça marche bien. Sans nomail
, est indéfini et il génère une erreur. J'ai parcouru la documentation sur les coquillages, mais je n'arrive pas à trouver quelque chose qui fonctionne. Voici ce que j'ai jusqu'à présent
switch $argv
case nomail
## Perform normal script functions
case ???
## Perform normal script functions
mailx -s "Script Done!"
end
L'exécution de cette jette l'erreur suivante:
switch: Expected exactly one argument, got 0
Évidemment, il attend un argument, je ne sais pas la syntaxe pour dire à accepter aucun argument , ou un si cela existe.
Je suppose que c'est assez basique, mais je ne comprends pas très bien les scripts shell.
Il est plus utile si vous postez le message d'erreur spécifique. –
ajouté. Désolé pour ça. – michaelmichael