Zárt. Ez a kérdés témán kívül van . Jelenleg nem fogadja el a válaszokat.
Megjegyzések
Válasz
Próbálja az összes +1
s módosítása az expr
s után + 1
.
A szóköz nélkül az expr
hibaüzenetet jelenít meg, és a $temp
üres lesz. Ha a $temp
üres, akkor a -lt
egy üres helyet fog összehasonlítani egy számmal, ezért jelenik meg a hiba. Itt van egy vonal, amely megismétli a problémát:
t=0;t=`expr $t +1`;[ $t -lt 25 ]
Kimenet (az STDERR-hez):
expr: syntax error bash: [: -lt: unary operator expected
Még jobb, ha megváltoztatja az összes kódot, amely a külső div expr
parancsot használja a shell belső aritmetikai kibővítéséhez. Tehát így kódoljon:
temp=`expr $temp +1`
… a következőre kell változtatni:
temp=$(($temp + 1))
Vagy, a bash
mezőben, az egész sor csak a következővel helyettesíthető:
((temp++))
expr
címről is?expr: syntax error
.