Ho uno script fish shell il cui comportamento predefinito è inviare un messaggio di posta elettronica una volta completato. Mi piacerebbe modificarlo per rispondere a un argomento nomail
dalla riga di comando. Così, per esempio, l'esecuzione dello script normalmente produrrebbe una e-mail:Scrittura di uno script Fish Shell con un argomento facoltativo
michaelmichael: ~/bin/myscript
Ma se eseguito con l'interruttore nomail
, non avrebbe mandato l'e-mail di conferma:
michaelmichael: ~/bin/myscript nomail
Se Corro lo script con l'argomento nomail
, funziona correttamente. Senza nomail
, non è definito e genera un errore. Ho setacciato la documentazione della conchiglia, ma non riesco a trovare nulla che funzioni. Ecco quello che ho finora
switch $argv
case nomail
## Perform normal script functions
case ???
## Perform normal script functions
mailx -s "Script Done!"
end
L'esecuzione di questo getta il seguente errore:
switch: Expected exactly one argument, got 0
Ovviamente si aspetta un argomento, ho solo che non so la sintassi per dicendogli di accettare senza argomenti o uno se esiste.
Suppongo che sia piuttosto semplice, ma non capisco molto bene lo script di shell.
E 'più utile se si registra il messaggio di errore specifico. –
aggiunto. mi dispiace per quello. – michaelmichael