Oggi vorrei parlare di un argomento molto importante sopratutto per chi lavora o intende lavorare come sistemista (è importante anche però per altri ruoli ICT). Ci sono vari linguaggi di scripting che vengono usati al giorno d’oggi per i più disparati motivi e usi: come ad esempio Python, Javascript, VBScript, Perl, Ruby, PHP.
Prima di tutto però, occorre definire cos’è uno script e quindi il contesto in cui viene usato.
Script
Uno script è un programma o insieme di istruzioni che sono interpretate ed eseguite da un altro programma.
Gli scripts sono scritti all’interno di un file che viene poi “letto” da chi conosce cosa significano le istruzioni inserite nel file e quindi sa come interpretarle. Infatti per questi “linguaggi” esiste un programma chiamato interprete che permette l’interpretazione dei termini specifici usati dal linguaggio usato e quindi permette l’esecuzione dello script.
Tra tutti questi linguaggi, esiste un “sottogruppo” che è specifico per ogni sistema operativo e permette l’esecuzione di operazioni e comandi che sono interpretati ed eseguiti direttamente dal kernel del sistema operativo in uso. In questo caso si parla quindi di shell scripting.
Shell Scripting
Uno shell script è un file di testo che contiene comandi eseguibili interpretati dalla shell del sistema operativo in uso.
Esistono differenti shell per sistema e che hanno il proprio linguaggio di scripting. Quelle più conosciute ed usate sono:
- Windows: Powershell, cmd.exe (MS-DOS)
- GNU/Linux: Bash, csh
Per un sistemista è molto importante conoscere quest’ultima categoria, in quanto spesso ci si ritrova a dover eseguire operazioni ripetitive su un sistema come ad esempio: ricercare o eliminare files di una certa data e ora, eseguire operazioni schedulate, assegnare permessi agli utenti ecc..
Tutte queste operazioni possono essere automatizzate scrivendo scripts con i comandi giusti per permettere la facilitazione nell’esecuzione delle operazioni, riducendo il tempo necessario e anche avendo più controllo sulle attività sistemistiche.
Oltre a questo, imparare i linguaggi di scripting e in particolare lo shell scripting permette di controllare al meglio il sistema operativo e la sua gestione e amministrazione rispetto ad un ambiente con interfaccia grafica (o GUI), che è limitato per quanto riguarda l’automatizzazione di attività ripetitive.