Come posso creare un comando terminale personalizzato (per eseguire uno script)?


36

Sono uno sviluppatore web. Quando voglio iniziare a lavorare, eseguo sempre alcuni comandi sul terminale. Per esempio:

sudo service apache2 start
sudo service mysql start
sublime

Per accelerare questo processo, creo un .shfile che contiene questi comandi.

Ora, quando voglio iniziare a lavorare, sto solo eseguendo questo file .sh e tutti i servizi (mysql, apache2 ecc.) Che iniziano.

È possibile creare un comando personalizzato per questo? Ad esempio, se digito sudo start-workingal terminale, eseguirà questi comandi

Risposte:


58

Un modo comune in cui le persone gestiscono questo è creare un bin directory nella loro home directory:mkdir ~/bin

Quindi, puoi inserire i tuoi script personalizzati: mv start-working ~/bin

Assicurati che il tuo script sia eseguibile: chmod +x ~/bin/start-working

Aggiungi questo in fondo al tuo ~/.bashrc file (se stai usando bash, cosa che probabilmente sei):export PATH=$PATH:~/bin

Ora accedi e scendi dal tuo terminale e dovresti riuscire a digitare start-working e lo script verrà eseguito.

Ora che il tuo percorso è configurato, qualsiasi nuovo script che lasci cadere nel tuo ~/binpuoi semplicemente digitare il nome di.


13
+1 e invece di disconnettersi e accedere, è possibile semplicemente eseguire i comandi source ~/.bashrco . ~/.bashrcper applicare le modifiche.
— Meysam,

Joe Oppegaard, trovo queste informazioni davvero utili in quanto ci sono script completi che ho e vorrei eseguire come comando anziché come script. C'è un modo per includere tutte le sottodirectory create in ~ / bin in modo da non dover includere più righe di esportazione in .bashrc? Ho provato export PATH=$PATH:~/bin/*ma questo non ha restituito i risultati desiderati.
— Kevin Wyman,

2
Il valore predefinito si ~/.profileaggiunge già ~/bina PATH, quindi aggiungendolo ~/.bashrcin aggiunta lo aggiungerai inutilmente due o più volte.
— geirha,

Ha funzionato senza che io aggiungessi nulla a .bashrc, quindi potresti essere in grado di saltarlo come dice Geriha
— Aaron Flores

nella mia esperienza, quando aggiungi un nuovo file devi ripetere un comando chmod, altrimenti l'autorizzazione verrà negata
— Webwoman

15

Stavo cercando come creare comandi personalizzati e ho trovato questa domanda tra gli altri. Penso che quello che stavo cercando fosse alias, quindi ti darò il modo di farlo con un alias.

Nella tua cartella home:

nano .bash_aliases

E lì puoi scrivere i tuoi comandi in una riga:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

Dopo aver salvato il file, riconfigura il tuo bashrc

. ~/.bashrc

E controlla che il tuo nuovo alias sia caricato

alias

Ecco fatto, puoi iniziare a lavorare ora eseguendo

start-working
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.