Introduzione
Lavorando spesso con alcuni script mi trovo a doverli richiamare sempre allo stesso modo, andando con il terminale in quella cartella, digitando il nome dello script, ecc…
Volevo un modo più semplice, ne ho pensati due.
Rendere lo script eseguibile
Per prima cosa lo script deve essere eseguibile, quindi dobbiamo attivare il relativo switch. Il comando è il seguente: chmod +x nome-script.sh
Ora potrò lanciare lo script entrando con il terminale in quella directory e scrivendo il nome dello script preceduto da . e slash, ovvero: ./nome-script.sh
Renderlo un comando per l’utente
Se volessi evitare di digitarlo ogni volta potrei creare un alias della shell. Digitando il comando alias, visualizzerò gli alias già presenti, ovvero dei comandi personalizzati. Ad esempio, ll è l’alias del comando ls -al
Usando il comando alias nome-alias='comando parametri' saremo in grado di creare un alias temporaneo, che sarà dimenticato quando usciremo dalla sessione corrente. Funziona anche con gli script, con la stessa sintassi: alias nome-alias='percorso/script parametri'
Se volessimo conservarlo anche dopo i prossimi riavvii, ma solo per l’utente corrente, dovremo aprire il file .bashrc che si trova nella home. Si può fare con il comando: nano ~/.bashrc (il carattere ~, detto tilde, è una scorciatoia che significa “directory home” e si inserisce premendo i tasti AltGr + ì). Se si preferisce usare l’interfaccia grafica, si può aprire con l’editor di testo.
Ad un certo punto del file probabilmente troveremo altri alias, quindi aggiungeremo qui di seguito il nuovo alias, seguendo la stessa sintassi usata per creare il temporaneo. Qualche esempio:
alias fdns='sudo resolvectl flush-caches'crea un comando (fdns) che esegue il refresh della cache DNS del sistema operativo.alias scelta='/home/ale/Desktop/scrcpyAle.sh'imposta il comando scelta; una volta inserito a terminale, sarà eseguito lo script relativo.
Fatte le modifiche, se nell’editor nano si salvano con Ctrl + o e poi Ctrl +x per uscire. Dall’editor di testo grafico, come al solito con Ctrl + s. Per applicare le modifiche e beneficiare del nuovo alias, digitare il comando source ~/.bashrc
Renderlo un comando di sistema
E’ ancora più semplice rendere lo script un comando di sistema, così che, previo inserimento della password, lo script venga eseguito come gli altri comandi.
Come dicevamo all’inizio, per lanciare uno script (dopo averlo reso eseguibile) basta entrare nella directory e digitare ./nome-script , ma se aggiungiamo il parametro -i le cose cambiano…
Quindi con ./nome-script -i lo script viene copiato in /usr/local/bin e potremo lanciarlo in qualsiasi momento semplicemente scrivendo nome-script , senza più dover entrare nell’apposita directory.