Using Android Emulator's Root Shell via Command Line
From android source, line 698:

seems the '-shell' option is as same as '-logcat' option, thus I think the documentation is not described well and of course the '-shell' option won't bring you an interactive root shell from the virtual serial.

Maybe I'm wrong, I only tested this on MacOS.

With further test, as same as this guy's post, the '-show-kernel' will actually get you the kernel log and an interactive rootable console.