Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
745 views
in Technique[技术] by (71.8m points)

bash - Copy a batch of files from Android to PC

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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The reason you're getting the error is the extra character on the end of the $line. This should work:

adb shell "ls /sdcard/Download/0*.log" | tr -d '
' > tmp 
while read line
do  
    echo $line
    adb pull $line .
done < tmp 
rm tmp 

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...