GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire uno script .sh da qualsiasi percorso in un terminale?

Devi copiare o collegare lo script in una directory che si trova su $PATH. Di solito /usr/bin e /usr/local/bin/ sono sul percorso quindi queste sono buone posizioni per collegare o copiare lo script.

ln -s /path/to/your/script /usr/local/bin

Se non sei root dovrai o sudo quel comando o eseguirlo come utente root.


Un'opzione è semplicemente digitare il percorso dello script:

~/Desktop/script

Funziona bene, ma diventa un po' ingombrante.

Questo è ciò che il PATH la variabile di ambiente è per. Ed è ciò che $HOME/bin è per.

  1. Crea tu stesso una directory $HOME/bin . Inserisci tutti i tuoi script eseguibili (rendili eseguibili con chmod +x script se necessario). In questo modo, c'è un posto dove cercare gli script che vuoi eseguire.
  2. Aggiungi $HOME/bin al tuo PATH . Metto il mio davanti:PATH="$HOME/bin:$PATH , ma potresti metterlo sul retro se preferisci.
  3. Aggiorna il tuo .profile o .bash_profile (o possibilmente .bashrc ) per impostare PATH . Attenzione però a un PERCORSO in continua crescita.

Come notato da tripleee, una volta installato il comando in una directory su PATH , non digiti più ./script , ma solo script . Questo è esattamente come si digita ls e non /bin/ls , ecc. Una volta che il programma è installato in una directory sul tuo PATH , è (per molti scopi) indistinguibile da un comando fornito dal sistema.

Ho circa 500 script e programmi nel mio $HOME/bin cartella.

Si noti che questo non richiede alcun privilegio speciale. Se hai accesso come amministratore alla tua macchina e pensi che altri utenti potrebbero trovare utili i tuoi comandi, allora puoi installare gli script/programmi in una delle directory fornite dal sistema sul tuo PATH . Tuttavia, di solito è meglio non aggiungere programmi a nessuno di:

  • /bin
  • /usr/bin
  • /sbin
  • /usr/sbin

C'è spesso/solitamente /usr/local/bin che è un luogo adatto per i comandi ampiamente utilizzati non forniti dal sistema.

Sarebbe meglio usare chmod a+x,go-w script; i tuoi script non dovrebbero essere scrivibili da altre persone. Potresti anche semplicemente usare chmod 555 script o chmod 755 script . Tendo a mantenere i miei script non scrivibili. In questo modo, devo passare attraverso un processo di modifica formale con il sistema di controllo della versione. Significa che c'è meno pericolo di modifiche incontrollate.


Linux
  1. Come eseguire "find -exec {};?

  2. Linux:come eseguire un bootloader da Linux?

  3. Da dove viene eseguito uno script di shell?

  4. Come eseguire uno script di shell su una console Unix o un terminale Mac?

  5. Come posso eseguire una funzione da uno script nella riga di comando?

Come eseguire uno script Bash {7 metodi}

Come eseguire uno script Python in PHP

Come eseguire uno script Bash

Come eseguire uno script di shell all'avvio

Come uscire da SSH di vagabondo nel terminale

Come eseguire uno script bash tramite percorso assoluto?