Il tuo terminale esegue una shell (molto probabilmente bash
), che è quello che chiede i tuoi comandi e li esegue.
Oltre a questa modalità interattiva puoi anche usare la tua shell per eseguire comandi da un file. Per eseguire i comandi nel tuo file puoi chiamare la shell direttamente come bash script
oppure puoi iniziare il file con "shebang" #!/bin/bash
e renderlo eseguibile (chmod +x script
). Quindi puoi trattare lo script come un binario ed eseguirlo, ad esempio, come ./script
o mettilo in un posto dove lo stai cercando. (echo $PATH
)
Molto probabilmente sia la shell interattiva che la shell utilizzata per l'esecuzione sono bash
.Dal punto di vista di un "primo giorno di apprendimento di Linux", bash funziona esattamente allo stesso modo in entrambe le modalità. - Molto più tardi potresti imbatterti in lievi differenze. Se vuoi davvero saperne di più in dettaglio, ti suggerisco di leggere man bash
e cerca luoghi che menzionano "interattivi". (Puoi cercare una pagina man, premendo /
.)
Una cosa importante da notare è che lo script viene eseguito come un nuovo processo. Ciò significa in particolare che le variabili impostate nello script non sono visibili nella shell chiamante.
$ export a=1
$ echo $a
1
$ bash -c 'echo $a;a=2;echo $a' # change the value in a script
1
2
$ echo $a # value not changed here
1
$
Senza l'esportazione a
non è nemmeno visibile allo script interno.