A substituição de comandos está adicionando uma nova linha?

0

Eu tenho um script que consulta a arquitetura do dispositivo de um dispositivo Android e usa isso em um caminho para enviar um arquivo para o dispositivo.

O código é semelhante a este:

ARCH=$(adb shell getprop ro.product.cpu.abi)
adb push libs/"$ARCH"/binary /data/local/tmp/binary

No entanto, o caminho fica mutilado. Ao canalizar o comando getprop para um arquivo, posso ver que ele retorna uma nova linha, que provavelmente é a causa do problema. Fiquei com a impressão de que a substituição de comandos retira novas linhas, mas de qualquer forma, tentei:

 ARCH=$(adb shell getprop ro.product.cpu.abi | tr -d '\n')

com ainda sem sorte.

Alguma ideia /

    
por afuna 20.11.2017 / 20:38

1 resposta

2

adb gera um comando com uma linha final do DOS. A substituição de comando remove o caractere de nova linha, mas não o retorno de carro; você terá que tirar isso manualmente.

ARCH=$(adb shell getprop ro.product.cpu.abi)
ARCH=${ARCH%$'\r'}
adb push libs/"$ARCH"/binary /data/local/tmp/binary
    
por 20.11.2017 / 22:08