Saída do comando do shell script se a comparação da condição falhar ao comparar com a mesma sequência de valor

Saída do comando do shell script se a comparação da condição falhar ao comparar com a mesma sequência de valor

Estou incorporando um trecho de script que determina a versão do Android via: adb shell getprop ro.build.version.release que retorna: 4.1.2ou4.0.4

O snippet atualmente se parece com isto:

if [ "$(adb shell getprop ro.build.version.release)" == "4.1.2" ]; then
    rw_path="/sdcard/"
elif [ "$(adb shell getprop ro.build.version.release)" == "4.0.4" ]; then
    rw_path="/data/local/"
fi
echo $rw_path

Achei que o adb poderia retornar o valor via stderr, assim como faz com a saída push/pull, então tentei isso também (não tenho certeza se essa é a maneira correta de fazer isso):

if [ "$(adb shell getprop ro.build.version.release 2>&1)" == "4.1.2" ]; then
    rw_path="/sdcard/"
elif [ "$(adb shell getprop ro.build.version.release 2>&1)" == "4.0.4" ]; then
    rw_path="/data/local/"
fi
echo $rw_path

Tentei o operador -eq em vez de == mas avisa que "expressão inteira é esperada".

Então tentei isso para ter certeza de que realmente compara algo:

version=$(adb shell getprop ro.build.version.release 2>&1)
if [ "$version" == "4.1.2" ]; then
    rw_path="/sdcard/"
elif [ "$version" == "4.0.4" ]; then
    rw_path="/data/local/"
fi
echo $version
echo $rw_path

Tentei tirar aspas "$variable"sem sorte. As saídas acima são "4.0.4" ou "4.1.2" conforme $versiono esperado, mas em todas as tentativas acima não consegue gerar nada para $rw_path.

O que estou fazendo de errado?!

Desde já, obrigado.

EDIT: Tentei colchetes duplos conforme sugerido abaixo, sem sorte. Por que a saída "4.0.4" não é igual à string "4.0.4"? O espaço em branco é relevante em comparação? Posso cortar a saída primeiro? Apenas um pensamento...

Responder1

Suspeito que haja um "\r" na saída do adbcomando. Tentar

$(adb shell getprop ro.build.version.release | tr -d '\r')

Responder2

Tente fazer esses colchetes em torno dos colchetes duplos de teste.

informação relacionada