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++))
exprcímről is?expr: syntax error.