У меня есть сценарий оболочки рыбы, поведение которого по умолчанию заключается в отправке электронного письма по завершении. Я хотел бы изменить его, чтобы он отвечал на аргумент nomail
из командной строки. Так, например, запуск скрипта обычно приводит к получению электронного письма:
michaelmichael: ~/bin/myscript
Но при запуске с переключателем nomail
электронное письмо с подтверждением не будет отправлено:
michaelmichael: ~/bin/myscript nomail
Если я запускаю скрипт с аргументом nomail
, он работает нормально. Без nomail
$argv
не определено и выдает ошибку. Я просмотрел документацию по рыбной оболочке, но не нашел ничего подходящего. Вот что у меня есть до сих пор
switch $argv
case nomail
## Perform normal script functions
case ???
## Perform normal script functions
mailx -s "Script Done!"
end
Запуск этого вызывает следующую ошибку:
switch: Expected exactly one argument, got 0
Очевидно, он ожидает аргумент, я просто не знаю синтаксиса, чтобы сказать ему не принимать аргументы или один, если он существует.
Я предполагаю, что это довольно просто, но я просто не очень хорошо понимаю сценарии оболочки.