2016-12-07 15 views
0

私はスクリプトを実行するためにCygwinを使用していますが、他の条件で使用すると構文エラーが発生します。 スクリプトに何が間違っているか教えてください。構文エラーCygwin If Else条件

./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