From 385f6b450ee00eb5b9f5d96dd146297eca108225 Mon Sep 17 00:00:00 2001 From: MDLeom <2809763-curben@users.noreply.gitlab.com> Date: Sat, 20 May 2023 11:24:38 +0000 Subject: [PATCH] fix: check installed grep is GNU variant --- src/script.sh | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/script.sh b/src/script.sh index afb10a97..466d5a27 100644 --- a/src/script.sh +++ b/src/script.sh @@ -12,18 +12,30 @@ fi alias curl="curl -L" alias rm="rm -rf" -## Use GNU grep, busybox grep is too slow -. "/etc/os-release" -DISTRO="$ID" - -if [ -z "$(grep --help | grep 'GNU')" ]; then - if [ "$DISTRO" = "alpine" ]; then - echo "Please install GNU grep 'apk add grep'" - exit 1 - fi - alias grep="/usr/bin/grep" +## Use GNU grep, busybox grep is not as performant +DISTRO="" +if [ -f "/etc/os-release" ]; then + . "/etc/os-release" + DISTRO="$ID" fi +check_grep() { + if [ -z "$(grep --help | grep 'GNU')" ]; then + if [ -x "/usr/bin/grep" ]; then + alias grep="/usr/bin/grep" + check_grep + else + if [ "$DISTRO" = "alpine" ]; then + echo "Please install GNU grep 'apk add grep'" + else + echo "GNU grep not found" + fi + exit 1 + fi + fi +} +check_grep + ## Fallback to busybox dos2unix if ! command -v dos2unix &> /dev/null