Você pode usar case
, que funciona em qualquer shell padrão:
case "$1" in
patch|major|minor|prerelease) ;;
*) echo "First argument needs to match a valid npm version argument (patch, minor, major, etc)." >&2; exit 1;;
esac
Uma alternativa no Bash / ksh / zsh é usar uma correspondência de expressão regular:
if ! [[ $1 =~ ^(patch|major|minor|prerelease)$ ]]; then
echo "First argument needs to match a valid npm version argument (patch, minor, major, etc)." >&2;
exit 1;
fi