命令替換是添加換行符號嗎?

命令替換是添加換行符號嗎?

我有一個腳本,可以從 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

相關內容