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 type
per dirti dove è memorizzato un comando e ls -l
sul 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). type
ti 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 mksh
versione, inserisci:
echo $KSH_VERSION