2016-12-07 2 views
0

Я использую Cygwin для запуска скрипта, я получаю синтаксическую ошибку, когда использую условие else. Не могли бы вы рассказать мне, что не так с моим сценарием?Ошибка синтаксиса Cygwin If Else condition

./test.sh: строка 10: ошибка синтаксиса около неожиданной лексемы else' ./test.sh: line 10: еще '

#!/bin/bash 
date 
schema='' 
table='JJJJ' 
first=${table:0:1} 
echo $first 
if [$first == 'J'] 
echo 'SUCCESS'; 
else 
echo 'error'; 
fi 

благодаря

+1

Вам не хватает 'then'. И пробел между '' и '$ first'. Могу ли я предложить использовать http://www.shellcheck.net? – Biffen

ответ

1

Ваше if утверждение неверно:

if [ "$first" == 'J' ]; then 
    echo 'SUCCESS'; 
else 
    echo 'error'; 
fi 

Обратите внимание на then заявление и двойные кавычки для переменной $first.

+0

спасибо :) это работает –

0

Использование shellcheck.net для вещей, как это. У вас есть синтаксические ошибки вокруг вашего if.

Правильная код-

#!/bin/bash 
date 
schema='' 
table='JJJJ' 
first=${table:0:1} 
echo $first 
if [ $first == 'J' ] 
then 
echo 'SUCCESS'; 
else 
echo 'error'; 
fi 
Смежные вопросы