2014-02-18 42 views
0

來源: 'Cygwin的腳本失敗算術表達式

#!/bin/bash 

in=$1 

off=3 

while true; 
do 

#echo $i 

off1=$(($off - 1)) 

declare -A a=0 
declare -A b=0 
declare -A x=0 

a=$(head -n $off $in | tail -n 1) 
b=$(head -n $off1 $in | tail -n 1) 



x=`expr $a - $b` 
echo $a 
echo $b 
echo $x 
echo $off1 $off 
off=$(($off + 1)) 

done 

`

輸出: '

./seq /bin/sequence.txt 
expr: non-integer argument 
9121600 
9082152 

2 3 
expr: non-integer argument 
9219455 
9121600 

3 4 
expr: non-integer argument 
9275501 
9219455 

等 ' 腳本應該回波相位空間分析XYZ座標。

我試着用$(($ a - $ b))表達減法......以及類似的錯誤。 任何線索?

回答

0

這不是Cygwin特定的。在bash中,declare -A創建一個關聯數組,其上的算術顯然是無效的。也許你打算使用declare -i來代替?

+0

謝謝......可能是這種情況,但我發現問題出在帶有DOS回車符的文件中。 – 1138