问题
I wrote a piece of script to copy some files to my PC from an Android device:
adb shell ls /sdcard/Download/0*.log > tmp
while read line
do
echo $line
adb pull $line .
done < tmp
rm tmp
However, it seems there is something I missed; it does not work. Could you help me point it out?
I got:
/sdcard/Download/0810-192141.log
' does not existsdcard/Download/0810-192141.log
回答1:
The reason you're getting the error is the extra \r
character on the end of the $line
. This should work:
adb shell "ls /sdcard/Download/0*.log" | tr -d '\r' > tmp
while read line
do
echo $line
adb pull $line .
done < tmp
rm tmp
回答2:
adb shell ls /sdcard/Download/0\*.log > tmp
will work as you expect. Note the \
to avoid the glob being interpreted by your shell.
来源:https://stackoverflow.com/questions/18167479/copy-a-batch-of-files-from-android-to-pc