SC2330 – ShellCheck Wiki

See this page on GitHub

Sitemap


BusyBox [[ .. ]] does not support glob matching. Use a case statement.

Problematic code:

#!/bin/busybox sh
if [[ $1 == https:* ]]
then
  echo "Using URL $1"
fi

Correct code:

#!/bin/busybox sh
case "$1" in
  https:*)
    echo "Using URL $1" 
    ;;
esac

Rationale:

You are using [[ .. ]] in BusyBox sh to match against a glob pattern. This is supported in Bash and Ksh, but not in BusyBox.

Rewrite the match to use a case statement instead.

Exceptions:

None.


ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.