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
줄 끝에 원치 않는 추가 캐리지 리턴이 있는 파일이 생성됩니다.