Tato otázka již má odpovědi zde :
Odpověď
Ve vašich testech, pokud substituce příkazu $(adb -s ...)
vygeneruje víceslovný řetězec, prostředí s ním bude zacházet jako s chybou syntaxe. Budete muset uvést rozšíření:
[ "$(adb -s ...)" = *"Is the system running?"* ]
Výsledek nahrazení nekótovaných příkazů bude rozdělen a globován souborů stejně jako rozšíření nekótovaných proměnných. Citování expanze se tomu vyhne. Ve vašem případě je to rozdělení, které způsobuje problémy.
S rozšířenou substitucí příkazů může test vypadat podobně jako
if [ word1 word2 word3 = *"some string"* ]
Toto je zjevně syntaktická chyba.