Ho due script di shell, a.sh
e b.sh
.
Come posso chiamare b.sh
dall'interno dello script di shell a.sh
?
Ci sono un paio di modi diversi per farlo:
Rendete l'altro script eseguibile, aggiungete la linea #!/bin/bash
in cima, e il percorso dove si trova il file nella variabile d'ambiente $PATH. Poi puoi chiamarlo come un comando normale;
Oppure chiamalo con il comando source
(l'alias è .
) come questo: source /path/to/script
;
Oppure usa il comando bash
per eseguirlo: /bin/bash /path/to/script
;
Il primo e il terzo metodo eseguono lo script come un altro processo, quindi le variabili e le funzioni nell'altro script non saranno accessibili.
Il secondo metodo esegue lo script nel processo del primo script, e tira dentro variabili e funzioni dall'altro script in modo che siano utilizzabili dallo script chiamante.
Nel secondo metodo, se state usando exit
nel secondo script, uscirà anche il primo script. Cosa che non accadrà nel primo e nel terzo metodo.