テストでは、次の場合 コマンド置換$(adb -s ...)
はマルチワード文字列を生成し、シェルはそれを構文エラーとして扱います。 展開を引用符で囲む必要があります。
[ "$(adb -s ...)" = *"Is the system running?"* ]
引用符で囲まれていないコマンド置換の結果は、引用符で囲まれていない変数展開と同じように、分割とファイル名のグロブが行われます。 拡張を引用すると、これを回避できます。 あなたの場合、問題を引き起こすのは分割です。
コマンド置換を展開すると、テストは次のようになります。
if [ word1 word2 word3 = *"some string"* ]
これは明らかに構文エラーです。