У меня есть скрипт, который принимает несколько параметров в качестве аргументов.Список допустимых параметров может быть большим (> 20), что может привести к конфликтам.Существует ли практический способ объединить конфликтующие вместе и не конфликтовать в другой без создания нескольких списков, групп и т. Д. Изменения в одной группе приведут к изменениям в других группах.
Например, списокдоступных параметров: -a, -b, -c, -d
Конфликт следующих параметров: [-a, -c], [-a, -d]
Следующие параметры не конфликтуют: [-a, -b], [-c, -d]
РЕДАКТИРОВАТЬ, более точный пример:
Например, скрипт позволяет запускать / останавливать определенную задачу и имеет дополнительные параметры для создания / удаления журналов.
Обычный запуск будет выглядеть следующим образом: ./script -start Task -logFile C:\out.tmp
И сценарий должен уведомить пользователя в случае, если выполнено что-то вроде: ./script -start Task -stop Task
, поскольку start
и stop
- это два противоположных действия.
Еще одно конфликтующее действие: ./sript -start Task -logFile C:\out.tmp -deleteLog C:\out.tmp
, которое может создатьфайл журнала и удалить его одновременно
Теперь, если параметры start, stop, logFile, deleteLog
,
Следующее может быть конфликтующим: [start, stop], [logFile, deleteLog]
Следующее будетне быть противоречивым: [start, logFile], [stop, deleteLog]