Una shell è una terminologia per un interprete da riga di comando più comunemente usata con i sistemi operativi simili a Unix, ma anche per interagire con i sistemi operativi basati sulla GUI in modo più granulare. Non solo consente all'utente di eseguire programmi da un'interfaccia di testo, ma offre spesso funzionalità di programmazione di base come variabili, sostituzione, reindirizzamento dell'output e caratteri jolly.