En tus pruebas, si la sustitución del comando $(adb -s ...)
genera una cadena de varias palabras, el shell lo tratará como un error de sintaxis. Tendrá que citar las expansiones:
[ "$(adb -s ...)" = *"Is the system running?"* ]
El resultado de una sustitución de comando sin comillas se dividirá y el nombre de archivo se globalizará tal como lo hace una expansión de variable sin comillas. Citar la expansión evita esto. En su caso, es la división la que causa los problemas.
Con la sustitución de comandos expandida, la prueba puede tener un aspecto similar a
if [ word1 word2 word3 = *"some string"* ]
Esto es claramente un error de sintaxis.