у меня есть сценарий установки, совместимый с POSIX, который определяет последнюю версию некоторого программного обеспечения, удаляя информацию из blob-объекта json, полученного из реестра программного обеспечения:
meta=$(wget -qO - https://registry.npmjs.org/after-dark/latest)
grep --version | grep "BSD grep" 1>/dev/null && vers=$(echo "$meta" | grep -oE '"version":(d*?,|.*?[^]",)' | tr -d 'version": ,')
grep --version | grep "GNU grep" 1>/dev/null && vers=$(echo "$meta" | grep -oP '"version":(d*?,|.*?[^]",)' | tr -d 'version": ,')
мне нужно сделать это программное обеспечение совместимым с BusyBox, который, как и BSD grep, использует -E
расширенная поддержка regex. Однако он не поддерживает --version
флаг.
если я запускаю busybox grep
Я вижу версию busybox. Должен ли я просто использовать это, чтобы добавить совместимость? Есть ли лучший способ я это может быть сделано для удаления запаха кода без установки зависимостей.