2012-12-27 32 views
0

我試圖調試別人的腳本:錯誤KSH減去兩個負號時:「轉讓需要左值」

的代碼行是:

y=$((${oldvalue[$x]}-${newvalue[$x]})) 

Ÿ得到,只要精細計算都雙方都是正數。但是,我有一個生產的情況下,他們都是負的,我得到的錯誤是:

DEBUG Old value = -4144290000 
DEBUG New value = -4009685000 
script.sh: line 123: -4144290000--4009685000: assignment requires lvalue 

我永遠不會使用ksh自己,即使是最簡單的計算,但我公司在生產支持的位置,並有處理一大塊泥,我至少會使用Perl/Python。任何人都可以告訴爲什麼這個問題正在發生,以及如何解決它?

感謝

回答

2

它需要上的負

y=$((${oldvalue[$x]} - ${newvalue[$x]})) 
+0

,現在是不是很難兩側的空間,是嗎?請問python或perl處理'-4144290000--4009685000'到你的期望? ;-) ... 祝你們好運。 – shellter