У меня есть следующий код скрипта bash:
GOAL="${1:-help}"
TARGET="${2}"
MODULES_LIST="app|tester"
echo "-> Running $TARGET..."
MODULES_LIST_PATTERN = "^($MODULES_LIST)$"
if [[ "$TARGET" =~ $MODULES_LIST_PATTERN ]]; then
run_${TARGET}
else
print_error "You must include an existing module: {$MODULES_LIST}"
exit 1
fi
Как видите, у меня есть переменная MODULES_LIST
, в которой хранятся модули, поддерживаемые приложением, затем я создаю шаблон регулярных выражений MODULES_LIST_PATTERN
, содержащий значение предыдущего var, и использую его для проверки Параметр соответствует любому из модулей. Однако он не работает должным образом, так как при запуске ./myscript.sh run app
он печатает ERROR] You must include an existing module: {app|tester}
.
Может ли кто-нибудь сказать мне, как это сделать?