2016-04-29 63 views
0

我是bash的初學者 我無法弄清楚這段代碼有什麼問題。意外標記'fi'附近的語法錯誤

#!/bin/bash 

j=0 
k=1 

for i in $1 
do 
    echo "tile-"+$j +"-" +"$k" 
    (($j=$j+1)) 
    if [ "$j" == "6" ] then 
     $j=0 
     (($k=$k+1)) 
    fi 
done 
+2

你錯過'then'前的';'或換行符。 –

+1

...我猜'$ j = 0'應該是'j = 0'。另外,你可以去掉'(())'中的''''。 –

+0

是的,現在它的工作非常感謝:)回覆:) –

回答

1

正如fordoifthen是兩個不同(但相關)結構,應該由一個命令終止符隔開,無論是;或換行符:

if [ "$j" == "6" ]; then 
    [...] 
fi 

if [ "$j" == "6" ] 
then 
    [...] 
fi 
相關問題