2016-09-12 6 views
0

Unixの新機能ですが、シェルの下で実行中に「予期しないトークン「fi」」というエラーが発生しました。構文が正しいのに、なぜこのエラーが発生するのか不明です。これについて助けてもらえるのは ですか?Cygwin端末で条件が満たされていれば実行できません

コード:

#!bin/bash -xv 
echo "this is test" 
a=10 
echo $a 
if [a -gt 5] 
than 
echo "print" 
echo $a+10 
fi 

O/P:

$ sh newsh.sh 
this is test 
10 
newsh.sh: line 9: syntax error near unexpected token `fi' 
newsh.sh: line 9: `fi' 
+3

Typo: 'than'は' then'でなければなりません –

+2

'[$ a -gt 5]'を使って、shellcheck.netであなたのコードを検証してください – anubhava

+0

ありがとう、Anubhava。シェルcheck.netは本当に私のために完全に使用されています –

答えて

1

シェルトークン化は空白に敏感です。あなたは使用する必要があります

if [ $a -gt 5 ]; then 
    do_something 
    echo $((a + 10)) 
fi 

そしてそれは#!/bin/shです。あなたのスラッシュを数えてください...

+0

ジェンスズありがとう、私の構文を確認します –

関連する問題