これは本当に奇妙です... 私のLinuxシェルでこの結果が真となることはありません。なぜか。linuxシェル - 文字列を次のように比較できません:adbシェルgetprop ro.product.brand
#!/bin/bash
a=$(adb shell getprop ro.product.brand)
adb shell getprop ro.product.brand
if [ "$a" == "Huawei" ]; then
echo "Success"
else
echo "Failed"
fi
スクリプトはちょうど出力:
Huawei
Failed
をこのスクリプトのに対し:
b=$(whoami)
whoami
if [ "$b" == "amo" ]; then
echo "Success"
else
echo "Failed"
fi
...出力:
amo
Success
は、誰も私はそれを理解するのに役立つことはできますか?
私はすでにカットやsedのために配管により$ aにスペースや改行を切り取ってみましたが、私は同じ結果を得る...
文字列に末尾の空白や改行が含まれていないことは間違いありませんか?そのような場合に起こりそうな問題のようです... – Fred
そうだと思います。以下の記事を参照してください。 –
これを試してみてください: 'echo" $ {#a} '。これは変数の値に文字数を表示するので、何も起こっていないことを検証することができます。文字列を比較するときに考慮されます。 – Fred