Avvia lo script dopo il completamento del comando

0

Mi trovo a dover eseguire alcuni script / comandi lunghi e non voglio aspettare a guardarlo fino a quando non termina. D'altra parte, mi piacerebbe sapere subito quando finisce. So che puoi eseguire il trucco con && , ma sembra un sacco di digitazione.

C'è un modo per farlo mettendo effettivamente un hook post-esecuzione in bash? So che questo è collegato a Bash e non tanto a OS X ma forse c'è qualcosa di nascosto in OS X.

    
posta raygozag 13.10.2013 - 22:18
fonte

1 risposta

1

Non esiste un hook post-esecuzione, solo un hook pre-esecuzione: se impostato, il valore della variabile shell PROMPT_COMMAND viene eseguito prima di emettere il prompt. Vedi man bash per i dettagli.

Un'opzione potrebbe essere quella di creare una funzione che indichi a Terminal di emettere un segnale acustico dopo l'esecuzione del comando lungo, in modo da sapere quando finisce. Tale funzione sarebbe:

$ function r { $@; beep; yourscript; }

Il tuo script verrà lanciato automaticamente dopo che Terminal ha emesso un segnale acustico.

Usa la funzione per eseguire questi comandi lunghi come questo:

$ r longcommand

Puoi aggiungere la funzione al tuo file .bashrc per evitare di definirla ogni volta.

Se non sei un fan delle campane udibili puoi dire al terminale di lampeggiare invece:

    
risposta data 13.10.2013 - 23:29
fonte

Leggi altre domande sui tag