[: =: unary operátor várható [duplicate]

Ennek a kérdésnek már megvannak a válaszai :

Válasz

A tesztjeiben, ha a $(adb -s ...) parancshelyettesítés többszavas sztringet generál, a shell szintaxis hibaként kezeli. Idéznie kell a kibővítéseket:

[ "$(adb -s ...)" = *"Is the system running?"* ] 

A nem idézett parancs-helyettesítés eredménye hasadáson megy át, és a fájlnév globbingon megy át, mint egy nem jegyzett változó-bővítés. A bővítés idézése ezt elkerüli. A te esetedben a felosztás okozza a problémákat.

A parancs cseréjének kibővítésével a teszt úgy néz ki, mint

if [ word1 word2 word3 = *"some string"* ] 

Ez egyértelműen szintaktikai hiba.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük