Android “adb pull”throws“不存在”

Android “adb pull”throws“不存在”,android,adb,Android,Adb,执行命令时: 对于以美元表示的el,亚洲开发银行壳牌ls/mnt/sdcard/| grep mem |;亚洲开发银行是否拉/mnt/sdcard/${el}android_mem;完成 我得到: '不存在/sdcard/mem_AI '不存在/SD卡/mem_报警 '不存在/sdcard/mem_Android '不存在/sdcard/mem_Autodesk '不存在/sdcard/mem_ '不存在/sdcard/mem\u DCIM ... 但是如果我执行这个,例如,adb pull/m

执行命令时: 对于以美元表示的el,亚洲开发银行壳牌ls/mnt/sdcard/| grep mem |;亚洲开发银行是否拉/mnt/sdcard/${el}android_mem;完成 我得到: '不存在/sdcard/mem_AI '不存在/SD卡/mem_报警 '不存在/sdcard/mem_Android '不存在/sdcard/mem_Autodesk '不存在/sdcard/mem_ '不存在/sdcard/mem\u DCIM ... 但是如果我执行这个,例如,adb pull/mnt/sdcard/mem\u DCIM android\u mem,我会在0.080s内得到20kb/s的字节,即ok。为什么会发生这种情况???

问题是adb shell ls/mnt/sdcard/| grep mem_uu在结尾返回一个\r,因此无法正确地提取文件

因此,您需要使用sed-r的//[\r]+//g'删除它,例如:

for el in $(adb shell ls /mnt/sdcard/ | grep mem_ | sed -r 's/[\r]+//g'); do adb pull /mnt/sdcard/${el} android_mem; done
我会用ls/mnt/sdcard/mem_u*代替可能的副本