Android, come ogni OS Unix e in generale come ogni altro sistema operativo dispone di una shell(wikipedia)[Ovviamente parliamo della Shell testuale o a riga di comando], che funziona grazie a un emulatore di linea di comando (Terminale). Android dispone della shell “sh” (/system/bin/sh), emulata o “azionata” in parole semplici generalmente da “adb shell“, grazie al debugging USB e ad un PC munito di un’altra shell (Batch per Windows, Bash per i sistemi GNU/Linux e anche BSD, ecc ecc…), ma nel Play Store esistono degli emulatori che ne permettono il funzionamento direttamente sul SO stesso, e ovviamente ne otterremo vantaggio: abbiamo la possibilità di interagire col sistema operativo stesso direttamente dal proprio telefono, senza aver bisogno di collegarlo ad un PC. Per estendere, inoltre le funzionalità della shell e del SO Android in generale si installa BusyBox, grazie al root una patch di funzioni Unix che estendono quelle di default di Android, c’è anche da dire che lasciare la propria shell sul device con root abilitato è rischioso. Oggi vediamo come installare Bash su Android e impostarla come shell predefinita per un emulatore e come lanciarla su adb.

Installare Bash X dal Play Store

Scarichiamo l’app Bash X dal Play Store che servirà per installare Bash per architetture ARM

Download: Bash X

Dall’app Bash X premiamo Install poi #root shell

Quindi verrà installato nel dispositivo il file binario di Bash, pronto per essere usato, premendo root shell verificheremo se bash è installato (restituisce come output la versione di bash (bash –version) )

bashX

Andiamo nelle impostazioni del terminale e impostiamo come Shell predefinita…

il percorso del file binario di bash:” /data/data/com.bitcubate.android.bash.installer/bash – “

shellchoosing

…e se vogliamo impostiamo un comando iniziale

quindi dal popup selezioniamo il comando che verrà eseguito appena il terminale verrà aperto dall’utente

startCommand

Questo è tutto! Bash installata!

E per ADB?

Per l’utlity ADB SHELL basta che eseguiate il seguente comando “../data/data/com.bitcubate.android.bash.installer/bash” potete sfruttare questo comando anche dalla shell Sh dal terminale sul telefono, se non volete sostituire Sh.

adbshell