Che cos'è un file con estensione .sh?
È un script di Bourne shell . Sono utilizzati in molte varianti di sistemi operativi simili a UNIX. Non hanno "linguaggio" e sono interpretati dalla tua shell (interprete dei comandi del terminale) o se la prima rigaènella forma
#!/path/to/interpreter
useranno quel particolare interprete. Il tuo file ha la prima riga:
#!/bin/bash
e questo significa che utilizza Bourne Again Shell, la cosiddetta bash. È per tutti gli scopi pratici un sostituto per il buon vecchio sh.
A seconda dell'interprete, avrai una lingua diversa in cui è scritto il file.
Tieni presente che nel mondo UNIX non è l'estensione del file a determinare cosa sia il file (vedi Come eseguire uno script di shell).
Se vieni dal mondo DOS / Windows, conoscerai i file con estensione .bat o .cmd (file batch). Non sono simili nel contenuto, ma sono simili nel design.
Come eseguire uno script di shell
A differenza di alcuni stupidi sistemi operativi, * nix non si basa esclusivamente sulle estensioni per determinare cosa fare con un file. Vengono utilizzate anche le autorizzazioni. Ciò significa che se si tenta di eseguire lo script della shell dopo averlo scaricato, sarà come provare a "eseguire" qualsiasi file di testo. L'estensione ".sh" è disponibile solo per tua comodità per riconoscere quel file.
Dovrai rendere il file eseguibile. Supponiamo che tu abbia scaricato il tuo file come file.sh
, puoi quindi eseguire nel tuo terminale:
chmod +x file.sh
chmod
è un comando per modificare i permessi del file, +x
imposta i permessi di esecuzione (in questo caso per tutti) e finalmente hai il nome del tuo file.
Puoi anche farlo nella GUI. La maggior parte delle volte puoi fare clic con il pulsante destro del mouse sul file e selezionare le proprietà, in XUbuntu le opzioni di autorizzazione sono simili a questa:
Se non desideri modificare le autorizzazioni. Puoi anche forzare la shell a eseguire il comando. Nel terminale puoi eseguire:
bash file.sh
La shell dovrebbe essere la stessa della prima riga del tuo script.
Quanto è sicuro?
Potresti trovare strano che devi eseguire un'altra attività manualmente per eseguire un file. Ma questo è in parte dovuto al forte bisogno di sicurezza.
Fondamentalmente quando scarichi ed esegui uno script bash, è la stessa cosa di qualcuno che ti dice "esegui tutti questi comandi in sequenza sul tuo computer, prometto che i risultati saranno buoni e sicuri". Chiediti se ti fidi della parte che ha fornito questo file, chiediti se sei sicuro di aver scaricato il file dallo stesso posto in cui pensavi, magari dai un'occhiata all'interno per vedere se qualcosa sembra fuori posto (sebbene ciò richieda che sai qualcosa sui comandi * nix e sulla programmazione bash).
Sfortunatamente, a parte l'avvertimento di cui sopra, non posso fornire una descrizione dettagliata di cosa dovresti fare per evitare che accadano cose malvagie con il tuo computer; quindi tieni presente che ogni volta che ottieni ed esegui un file eseguibile da qualcuno in realtà stai dicendo: "Certo, puoi usare il mio computer per fare qualcosa".