синтаксическая ошибка в условном выражении: unexpected token `;'

у меня есть скрипт, который должен принимать несколько аргументов.

он может либо принять аргумент "update", либо "create". Если аргумент не передается, пользователь должен получить сообщение об ошибке. Однако при построении my if/elif условие я получаю ошибку:

syntax error in conditional expression: unexpected token `;'

код:

firstParam=
echo $firstParam //update/create/{empty}

if [[ "$firstParam" == "" ]]; then
    printf "${RED}Use this script as "tzfrs update/new [projectName]"${NC} n"
    exit 1
elif [[ "$firstParam" == "update"]]; then
  printf "update"
  exit 1
fi

если у меня есть такой скрипт

if [[ "$firstParam" == "" ]]; then
    printf "${RED}Use this script as "tzfrs update/new [projectName]"${NC} n"
    exit 1
fi

обработка ошибок работает, и я вижу следующее сообщение

Use this script as "tzfrs update/new [projectName]"

однако, при добавлении elif условие я получаю вышеуказанную ошибку. Есть идеи?

1 ответов


elif [[ "$firstParam" == "update"]]; then 

должно быть

elif [[ "$firstParam" == "update" ]]; then

с пробелом между "update" и ]]