Na vašem terminálu je spuštěn shell (s největší pravděpodobností bash
), který žádá o vaše příkazy a spouští je.
Kromě tohoto interaktivního režimu můžete také použít svůj shell ke spouštění příkazů ze souboru. Chcete-li spustit příkazy ve vašem souboru, můžete buď přímo zavolat shell jako bash script
nebo můžete začít soubor s "shebang" #!/bin/bash
a udělejte jej spustitelným (chmod +x script
). Pak můžete se skriptem zacházet jako s binárním souborem a spustit jej například jako ./script
nebo ji dejte na místo, kde ji hledáte. (echo $PATH
)
S největší pravděpodobností je váš interaktivní shell i shell použitý ke spuštění bash
.Z pohledu "prvního dne učení linuxu" bash funguje úplně stejně v obou režimech. - Mnohem později můžete narazit na drobné rozdíly. Pokud se o tom chcete dozvědět podrobně, doporučuji přečíst si man bash
a hledejte místa zmiňující „interaktivní“. (Manuálovou stránku můžete vyhledávat stisknutím /
.)
Jedna důležitá věc, kterou je třeba poznamenat, je, že skript se spouští jako nový proces. To zejména znamená, že proměnné nastavené ve skriptu nejsou ve volajícím shellu viditelné.
$ 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
$
Bez exportu a
není viditelný ani pro vnitřní skript.