Bash
命令替換是添加換行符嗎?
我有一個腳本,可以從 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')
仍然沒有運氣。
有任何想法嗎/
adb
輸出一個以 DOS 行結尾的命令。命令替換去除換行符,但不去除輸入;你必須手動剝離它。ARCH=$(adb shell getprop ro.product.cpu.abi) ARCH=${ARCH%$'\r'} adb push libs/"$ARCH"/binary /data/local/tmp/binary