命令替换是添加换行符吗?

命令替换是添加换行符吗?

我有一个脚本,可以从 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

adb输出以 DOS 行结尾的命令。命令替换会去除换行符,但不会去除回车符;你必须手动删除它。

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

相关内容