ADB.exe를 통해 MS-windows cmd를 사용하여 안드로이드 쉘 명령의 결과를 파일로 출력하고 있습니다.
올바른 결과가 출력되지만 각 결과 사이에 추가 줄이 표시됩니다. 대화형 cmd에서는 (추가 줄 없이) 정상적으로 보이지만 파일에 저장하면 추가 줄이 표시됩니다.
파일 출력을 보려면 Notepad++를 사용하고 있습니다. 모든 기호를 볼 때 인쇄된 각 줄의 끝에는 CR(캐리지 리턴)이 표시되고 각 빈 줄에는 CR LF가 표시됩니다.
추가 줄 없이 결과를 파일로 출력할 수 있습니까? 그렇다면 이 문제의 원인은 무엇입니까?
대화형으로 터미널에 직접 출력
D:\>adb shell "ls -l"
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
파일로 리디렉션 중
D:\>adb shell "ls -l" > test.log
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
답변1
노력하다
adb shell -T "ls -l" > test.log
또는 다음과 같이 불평하는 경우 error: device only supports allocating a pty
:
adb shell "ls -l >/data/local/tmp/list"; adb pull /data/local/tmp/list test.log
클라이언트 프로그램이 지원 하더라도 모든 장치가 SSH에서 영감을 받은 옵션을 지원하는 것은 -t
아닙니다 .-T
adb
이것은 Windows에만 해당되는 것이 아닙니다. Unix 시스템에서도 adb shell "ls -l" > test.log
줄 끝에 바람직하지 않은 추가 캐리지 리턴이 있는 파일을 생성합니다.