Nelle versioni precedenti di Android
Nelle versioni precedenti di Android, i comandi della shell tendono ad essere:
- Riscritto appositamente per Android e spedito come parte di Toolbox. Non sono sicuro che Toolbox sia davvero documentato ovunque.
- O copiato da NetBSD. In tal caso, il comando è stato ricompilato per Android e il comando (ma non la sua pagina di manuale) viene fornito con Android.
Usa typeper dirti dove è memorizzato un comando e ls -lsul comando per dirti se si tratta di un vero binario o di un collegamento simbolico. Se si tratta di un collegamento simbolico a Toolbox, saprai che il comando fa parte di Toolbox.
Alcuni comandi, come ad esempio kill, sono disponibili sia come shell incorporata (questa è la versione che verrà normalmente eseguita) sia in /system/bin(questa versione normalmente non verrà mai eseguita). typeti dirà quale versione verrà eseguita.
Su Marshmallow e su
Android 6.0 "Marshmallow" e sulla nave con Toybox , e la maggior parte dei comandi di shell più comunemente usati ( cp, mv, ls, eccetera) tendono ad essere giocattoli Toybox. I giocattoli Toybox normalmente includono un aiuto integrato; le pagine di manuale ufficiali non sono incluse.
Tuttavia, Toybox non include tutto e quindi non tutto viene fornito da Toybox. Ad esempio, anche su Android 6.0 "Marshmallow", fsck_msdos(che dovrebbe essere usato solo per controllare le schede SD di 32 GB o meno) sembra essere preso da FreeBSD o NetBSD. fsck_exfat(che può controllare la maggior parte delle schede SD da 64 GB o più) è preso da altrove. Non sono sicuro di dove.
La tua conchiglia
Nelle versioni moderne di Android, la shell è mksh, la shell MirBSD Korn. Se mkshè in esecuzione, quindi per scoprire la tua mkshversione, inserisci:
echo $KSH_VERSION