¿La sustitución de comandos consiste en agregar una nueva línea?

¿La sustitución de comandos consiste en agregar una nueva línea?

Tengo una secuencia de comandos que consulta la arquitectura del dispositivo desde un dispositivo Android y la usa en una ruta para enviar un archivo al dispositivo.

El código es similar a este:

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

Sin embargo, el camino se complica. Al canalizar el getpropcomando a un archivo, puedo ver que devuelve una nueva línea, que probablemente sea la causa del problema. Tenía la impresión de que la sustitución de comandos elimina las nuevas líneas, pero de cualquier manera, lo intenté:

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

todavía sin suerte.

Algunas ideas/

Respuesta1

adbgenera un comando con un final de línea de DOS. La sustitución del comando elimina el carácter de nueva línea, pero no el retorno de carro; Tendrás que quitarlo manualmente.

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

información relacionada