2015-04-28 4 views
9

У меня есть сценарий оболочки, который должен принимать несколько аргументов.Синтаксическая ошибка в условном выражении: неожиданный токен `; '

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

syntax error in conditional expression: unexpected token `;' 

Код:

firstParam=$1 
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 я получаю вышеуказанную ошибку. Любая идея?

ответ

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

должен быть

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

с промежутком между "update" и ]]

+0

Ничего себе, такой глупой ошибкой. Спасибо за это ! :) Придется подождать еще 11 минут, прежде чем я смогу принять ответ – Musterknabe

Смежные вопросы