The Android online documentation Android Debug Bridge says "Adb provides an ash shell". Sure enough, if I adb shell
to an AVD emulator I get ash which is basically a cut-down Bourne shell.
However, if I connect to a couple of remote devices, one an HTC telephone and the other an ASUS Transformer Prime tablet, they both have a version of the Korn shell, which gives: KSH_VERSION='@(#)MIRBSD KSH R39 2010/08/24'
. Although MIRBSD KSH is not a full-blown AT&T Korn shell, it is still a lot more powerful than ash.
The emulator is running Jelly Bean, and both devices are using ICS. Doing a bit more digging, it looks like ash was in Gingerbread but mirbsd ksh in Honeycomb.
So, can someone confirm that the Android online documentation is wrong, and that the emulator is running an out-of-date shell? Or is it that suppliers are implementing their own?