Bash
, которые должны принимать аргументы?getopt
не рекомендуется, getopts
не поддерживает длинные варианты, не существует широко распространенного модуля Bash
для выполнения задачи, и некоторые решения не работают на всех платформах (Linux, OSX, MSW) ... Попробуйте Argbash
и перестаньте терроризировать эти надоедливые аргументы! С Argbash вы получите:
bash
.Argbash
для легкого восстановления анализа вашего сценария).Argbash
-Aware, обернув их с помощью Argbash
-Aware более высокого уровня, без дублирования кода.cd resources && make install
(вы можете запустить sudo make install PREFIX=/usr
для общеобразовательной установки). Сделайте свой существующий сценарий, работающий от Argbash
за пару минут. Исследуйте различные ароматы Argbash:
Вкус | Целевая группа |
---|---|
Argbash Online | Используйте его, если вы хотите попробовать Argbash, не установив его, и у вас есть постоянный доступ к Интернету. |
Argbash Cli | Установите пакет, чтобы все время готовили argbash . |
Argbash Docker | В значительной степени как Argbash CLI, но вам не нужно его устанавливать, вы просто загружаете изображение. |
Argbash-это не библиотека разбора, но это скорее генератор кода, который генерирует библиотеку библиотеки Bash для вашего сценария. Это позволяет вам описать аргументы, которые должен взять ваш сценарий, а затем вы можете генерировать код анализа bash
. Он остается в вашем скрипте по умолчанию, но вы можете сгенерировать его в отдельный файл и позволить Argbash
включить его в ваш сценарий для вас. В любом случае, вам не понадобится Argbash
для запуска сценария.
Argbash
очень прост в использовании, и сгенерированный код относительно приятный для чтения. Более того, определения аргументов остаются встроенными в сценарий, поэтому, когда вам нужно обновить логику анализа, вы просто перезапустите сценарий argbash
на уже сгенерированном скрипте.
Поэтому, написав несколько комментариев в ваш сценарий и запустив bin/argbash
в Argbash, вы получите сценарий bash
с анализом аргументов. См. Простой пример шаблона источника и простой сценарий примера для результата. Если вы не увлекаетесь длинным чтением, пусть bin/argbash-init
сгенерирует для вас шаблон.
Поддерживаются следующие типы аргументов:
--verbose
) дополнительных аргументов и--version
, --help
).Доступны следующие выходы:
getopts
, также сделаны адаптированными. Утилита была вдохновлена argparse
Python и проектом shflags
.
Прочитайте документы (последняя стабильная версия) для получения дополнительной информации
bash
, который может работать с массивами (скорее всего, bash >= 3.0
) (единственное требование для пользователей - т.е. люди, которые выполняют только сценарии и не делают их)autom4te
, которая может работать с наборами (часть autoconf >= 2.63
Suite)sed
, grep
, cat
, test
.