Come eseguire uno script di shell (.sh) su macOS

Per eseguire uno script di shell su macOS , apri il Terminale, vai alla cartella contenente il .shfile ed eseguilo con il suo interprete. Ad esempio, bash hello.shesegui uno script Bash senza modificarne i permessi. Se vuoi avviarlo come comando, rendilo eseguibile con chmod +x hello.sh, quindi esegui ./hello.sh. Questi metodi funzionano sulle versioni correnti di macOS.

Controlla lo script prima di eseguirlo

Uno script di shell è un file di testo semplice contenente comandi. Questi comandi vengono eseguiti con i permessi del tuo account utente, quindi uno script può modificare o eliminare file, installare software o inviare dati su una rete. Leggi attentamente uno script ricevuto prima di eseguirlo, soprattutto se richiede una password di amministratore o utilizza sudo. Esegui solo script provenienti da fonti attendibili; la modifica dei permessi di un file non ne rende sicuro il contenuto.

Apple descrive gli script di shell come file di testo contenenti comandi UNIX e spiega come una shebang selezioni la shell che esegue lo script. Consulta la guida di Apple agli script di shell su Terminal .

Eseguire uno script .sh con Bash

Questo è il modo più semplice per eseguire uno script Bash. Non è necessario aggiungere prima i permessi di esecuzione.

  1. Crea o individua lo script. Uno script di shell può essere scritto in qualsiasi editor di testo semplice. Per una prova rapida, apri TextEdit, scegli Formato > Converti in testo semplice e inserisci queste due righe:
#!/bin/bash
echo "Hello from macOS"

Salva il file come hello.sh. Nella finestra di dialogo di salvataggio, verifica che il nome termini con .she che TextEdit non abbia aggiunto .txt. La prima riga è lo shebang: identifica Bash come interprete quando lo script viene avviato direttamente. La seconda riga stampa un breve messaggio.

TextEdit in modalità testo semplice che mostra hello.sh con uno shebang Bash e un comando echo
Il file di esempio hello.sh contiene una shebang seguita da un comando che stampa del testo.
  1. Apri il Terminale e vai alla cartella del file. Premi Comando-Spazio, digita Terminale e premi Invio. Se hai salvato il file in Download, inserisci:
cd ~/Downloads

Premi Invio dopo ogni comando. Puoi digitare lsper elencare i file e verificare che hello.shsiano presenti. Passa Downloadsalla cartella che hai effettivamente utilizzato. Se il nome di una cartella o di un file contiene spazi, inserisci il percorso tra virgolette, ad esempio cd "$HOME/My Scripts".

Terminale nella cartella Download che elenca hello.sh dopo aver cambiato directory
Utilizza il comando cd per aprire la cartella che contiene lo script, quindi verifica il suo nome con il comando ls.
  1. Esegui lo script con Bash. Inserisci il nome dello script dopo bash:
bash hello.sh

Il terminale dovrebbe visualizzare Hello from macOS. Se lo script utilizza la sintassi Zsh invece di Bash, esegui zsh hello.sh. La shell che si apre in modo interattivo nel terminale è solitamente Zsh, ma ciò non significa che ogni script debba essere eseguito con Zsh; usa l'interprete per cui lo script è stato scritto. Lo shebang di uno script spesso indica quell'interprete.

Eseguire lo script come file eseguibile

È anche possibile avviare uno script direttamente tramite il suo percorso. Questo è utile quando si desidera eseguirlo come un piccolo comando. Le istruzioni del Terminale di Apple per rendere un file eseguibile utilizzano chmodquesto passaggio.

  1. Concedi i permessi di esecuzione. Nella stessa finestra del Terminale e nella stessa cartella, esegui:
chmod +x hello.sh

Questo aggiunge i permessi di esecuzione a questo file. Si tratta di una modifica da apportare una sola volta, a meno che i permessi non vengano successivamente ripristinati. Evita di utilizzare impostazioni di permessi più ampie del necessario; chmod +xqueste sono sufficienti per uno script personale di tua proprietà.

Terminale che mostra chmod più x applicato a hello.sh
Il comando chmod +x rende hello.sh eseguibile.
  1. Avvialo dalla cartella corrente. Digita:
./hello.sh

Questo ./comando indica alla shell di eseguire il file nella directory corrente. Senza di esso, la shell in genere cerca nelle cartelle elencate in PATHanziché nella cartella corrente. Se ti trovi in ​​un'altra posizione, usa cdper tornare alla cartella dello script oppure inserisci il suo percorso completo, ad esempio ~/Downloads/hello.sh.

Terminale in esecuzione ./hello.sh e visualizzazione di Hello da macOS
L'esecuzione di ./hello.sh avvia lo script eseguibile e ne mostra l'output.

Errori comuni e relative soluzioni

  • “Permesso negato” dopo aver utilizzato ./hello.sh: conferma il nome del file, quindi esegui chmod +x hello.sh. Oppure usa bash hello.shse si tratta di uno script Bash e non hai bisogno dell'esecuzione diretta.
  • "File o directory non esistente": conferma la cartella con pwd, elenca il suo contenuto con lse controlla l'ortografia e le maiuscole. Assicurati che il file non sia effettivamente chiamato hello.sh.txt.
  • "Comando non trovato" all'interno dello script: lo script potrebbe dipendere da un'utilità mancante o non presente PATH. Controlla la documentazione dello script prima di installare qualsiasi cosa.
  • "Interprete non valido" o un errore che indica ^M: la prima riga potrebbe puntare a un interprete non disponibile oppure il file potrebbe utilizzare terminazioni di riga in stile Windows. Controllare lo shebang e salvare il file con terminazioni di riga Unix (LF).

Quale metodo dovresti usare?

Utilizzalo bash hello.shper un'esecuzione rapida quando sai che si tratta di uno script Bash. Utilizzalo chmod +x hello.shseguito da ./hello.shquando vuoi avviarlo direttamente e lasciare che il suo shebang scelga l'interprete. Nessuno dei due metodi installa le dipendenze mancanti, corregge i comandi incompatibili o verifica se lo script è affidabile.

Lascia un commento

Come fare screenshot su Mac: una guida completa

Come fare screenshot su Mac: una guida completa

Scopri come fare screenshot su Mac con le scorciatoie per la schermata intera, un'area specifica o una finestra, oltre a suggerimenti sull'app Screenshot, gli appunti, la modifica e la posizione di salvataggio.

Come aggiungere più immagini a un singolo PDF su macOS

Come aggiungere più immagini a un singolo PDF su macOS

Unisci più immagini in un unico PDF su macOS utilizzando Finder o Anteprima. Controlla l'ordine delle pagine, evita il ritaglio e correggi le pagine mancanti senza bisogno di software aggiuntivo.

Come visualizzare gli FPS su macOS: Steam e l'HUD Metal di Apple

Come visualizzare gli FPS su macOS: Steam e l'HUD Metal di Apple

Scopri come visualizzare gli FPS su Mac con l'overlay delle prestazioni di Steam o con l'HUD Metal Performance di Apple, oltre alle soluzioni per i casi in cui il contatore non viene visualizzato.

Come chiudere forzatamente un'app su Mac: 5 modi rapidi per farlo

Come chiudere forzatamente un'app su Mac: 5 modi rapidi per farlo

Utilizza la combinazione di tasti Opzione-Comando-Esc per forzare la chiusura di un'app Mac che non risponde, oppure chiudila dal menu Apple, dal Dock, da Monitoraggio Attività o dal Terminale.

Come utilizzare la modalità Schermo diviso su Mac: affiancare due app

Come utilizzare la modalità Schermo diviso su Mac: affiancare due app

Configura la visualizzazione a schermo diviso, ridimensiona o sostituisci un riquadro, usa Mission Control e scopri quando la disposizione a riquadri del desktop è più adatta al tuo Mac.

Come rimuovere i dati EXIF ​​dalle foto su macOS

Come rimuovere i dati EXIF ​​dalle foto su macOS

Scopri come rimuovere i dati EXIF ​​dalle foto su macOS, nascondere la posizione in Foto, pulire le copie JPEG esportate con ExifTool e verificare il risultato.

Come sincronizzare due cartelle su un Mac in modo sicuro

Come sincronizzare due cartelle su un Mac in modo sicuro

Sincronizza due cartelle su Mac con SyncTwoFolders, scegli un aggiornamento unidirezionale o bidirezionale e visualizza in anteprima le modifiche prima che i file vengano sostituiti o rimossi.

Come eseguire il backup di un blog Tumblr su un Mac

Come eseguire il backup di un blog Tumblr su un Mac

Esegui il backup del tuo blog Tumblr sul Mac utilizzando l'esportazione web di Tumblr. Scarica ed estrai il file ZIP, proteggi i post e i contenuti multimediali e scopri cosa non viene incluso nell'archivio.

Come utilizzare Google Maps su un computer Mac

Come utilizzare Google Maps su un computer Mac

Utilizza Google Maps sul tuo Mac in Safari o Chrome, trova luoghi e percorsi, cambia i livelli della mappa e aggiungi un'app web di Safari al Dock su macOS Sonoma 14 o versioni successive.

I 5 migliori convertitori gratuiti da WAV a MP3 per Windows e macOS

I 5 migliori convertitori gratuiti da WAV a MP3 per Windows e macOS

Confronta cinque convertitori gratuiti da WAV a MP3 per Windows e macOS, tenendo conto dei limiti di file online, degli strumenti di elaborazione batch locali e delle pratiche impostazioni di esportazione.