명령 대체가 개행을 추가하고 있습니까?

명령 대체가 개행을 추가하고 있습니까?

Android 장치에서 장치 아키텍처를 쿼리하고 이를 경로에서 사용하여 장치에 파일을 푸시하는 스크립트가 있습니다.

코드는 다음과 유사합니다.

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

그러나 경로가 엉망이 됩니다. getprop명령을 파일로 파이프하면 개행 문자가 반환되는 것을 볼 수 있는데, 이것이 아마도 문제의 원인일 것입니다. 나는 명령 대체가 줄 바꿈을 제거한다는 인상을 받았지만 어느 쪽이든 시도해 보았습니다.

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

아직 운이 없습니다.

어떤 아이디어/

답변1

adbDOS 줄 끝으로 명령을 출력합니다. 명령 대체는 개행 문자를 제거하지만 캐리지 리턴은 제거하지 않습니다. 수동으로 제거해야합니다.

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

관련 정보