Итак, я пишу небольшой скрипт на zsh, который может принимать несколько аргументов. Однако пользователи случайно передают аргументы не по порядку. Например, это будет действительный вызов скрипта:
./logproc.sh --include /var/log --exclude-file-ext gz,bz --show-only
Теперь я могу использовать позиционные аргументы, такие как $ 1, $ 2 и c. ожидать --include
сначала, затем --exclude-file-ext
и так далее. Но пользователи вызывают сценарий так:
./logproc.sh --show-only --exclude-file-ext gz,bz --include /var/log
или
./logproc.sh --exclude-file-ext gz,bz --show-only --include /var/log
Со временем потребность в добавлении дополнительных функций возрастает, а перестановка и комбинация выяснения, какие аргументы были переданный по сценарию собираются взорваться.
Есть ли в zsh встроенный инструмент или команда (внешний инструмент, который можно вызвать в скрипте), который можно использовать для определения аргументов, которые были отправлены в скрипт?
PS: я ищу ZSH -specifi c решение.