GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza tra i comandi nello script bash e i comandi nel terminale

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.


Linux
  1. Scopri la differenza tra i comandi "su" e "su -" in Linux

  2. Differenza tra i comandi "su" e "su -" in Linux

  3. L'esatta differenza tra un "terminale", un "shell", un "tty" e una "console"?

  4. Differenza tra shell di accesso e shell non di accesso?

  5. La differenza tra i comandi di arresto e arresto?

Qual è la differenza tra Login e Non-Login Shell

La differenza di utilizzo tra variabili Shell e variabili d'ambiente?

Differenza tra virgolette singole e doppie in Bash Shell

Qual è la differenza tra una console, un terminale e una shell?

Differenza tra pts e tty

Differenza tra i comandi 'ifconfig' e 'ip'