adb shell auto-complete under Windows 7?

2019-05-14 19:29发布

问题:

I tried on linux and ash from busybox does auto-complete command line... But under Windows 7 when I press Tab it doesn't work. Any idea to make Windows 7 smart? :) Thanks!

Looks like auto-complete is done, but nothing echoes back after when tab is pressed...

An example: adb shell

ls m[press tab]

after tab is pressed, some space characters are shown, but characters that are generated by auto-complete doesn't echo back, then if I press enter, directory mnt is listed which means auto-complete works but echo system has some problem. Right?

ls m[space][space][space][press enter]

mnt

回答1:

I run adb on Win7 sometimes, both under the cmd.exe and Cygwin, and I was frustrated by how adb shell handled autocompletion and character echo. I also use adb under OS X and Linux, and in both of those environments the autocompletion and character handling works as I expect. What the problem on Windows seems to be is that adb shell is not setting the terminal modes (stty/termio() for UNIX-type shells). I came up with the following workaround that seems to work well for Cygwin's bash shell. I don't know Windows well enough to know if there is a similar command to stty for cmd.exe:

$ stty -icanon -echo -echoe intr ^0 ; adb shell ; stty sane

Of course you can put this in a script.

I believe that the reason that recompiling adb under Cygwin fixes this issue (under Cygwin) is because the recompile causes adb to use the termio() calls to setup the local terminal modes so that they don't interfere with what you type to the Android shell.



回答2:

Solved this problem by recompiling adb under cygwin. :)



回答3:

You can use ADB enhanced Putty

It support auto complete and coloring

you can download it from ADB Putty

read more at ADB enhanced Putty (replacement for "adb shell" command)



回答4:

Auto-complete is controlled by the following Registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor Set the value to 9 or 40.