Risposte:
Apri Terminale, digita sh /path/to/file
e premi Invio.
È più veloce digitare sh
e uno spazio, quindi trascinare il file nella finestra e rilasciare l'icona in qualsiasi punto della finestra.
shell shell_script
la riga shebang viene ignorata. La shell legge la prima riga come commento.
sh /path/to/file
semanticamente è diverso dall'alternativa /path/to/file.sh
?
In alternativa, potresti anche farlo
cd /directory/with/executable
chmod +x executable # only required if your file is not already executable
./executable
che eseguirà anche il file eseguibile con la shell specificata (se specificato nella shebang #!/bin/(shell)
chmod u+x myfile.sh
cp myfile.sh /usr/local/bin
modifica ~/.bash_profile
e aggiungi la seguente riga:
alias myfile=./myfile.sh
eseguire la seguente riga di comando:
source ~/.bash_profile
allora sarai in grado di eseguire il tuo file come programma
$ myfile
#~/bin/sh
, mentre nello OSX
script dovrebbe avere .sh
estensione e un alias
per ognuno di essi. : -O
Seguire questi passaggi per eseguire i file di script:
Fare clic con il tasto destro sul file .sh.
Passa il mouse sopra Apri con .
Scegli Altro ... .
Dovresti essere nella cartella Applicazioni . Apri la cartella Utilità e seleziona Terminal.app.
Se non riesci a selezionare Terminal.app, modifica le applicazioni abilitate da Applicazioni consigliate a Tutte le applicazioni . È nella parte inferiore della finestra.
Se vuoi aprire tutti i .sh
file con Terminal.app, seleziona Apri sempre con .
Premi il pulsante Apri nell'angolo in basso a destra della finestra.
Il motivo per cui non funziona dopo il download è che le autorizzazioni del file non lo consentono. Per abilitare le autorizzazioni di esecuzione, aprire Terminale e digitare
chmod 755 /path/to/script
. Invece di digitare il percorso completo, puoi trascinare lo script nella finestra Terminale dal Finder. Quindi, per eseguire, basta inserire
/path/to/script
. Ancora una volta, è possibile trascinare e rilasciare il file nella finestra Terminale. Questa sintassi dovrebbe eseguire lo script usando la shell corretta come definito nella prima riga dello script.
sh
indica uno script di shell non "esegui lo script in questa shell".