Votre terminal exécute un shell (très probablement bash
), qui est celui qui demande vos commandes et les exécute.
Outre ce mode interactif, vous pouvez également utiliser votre shell pour exécuter des commandes à partir d'un fichier. Pour exécuter les commandes dans votre fichier, vous pouvez soit appeler le shell directement comme bash script
ou vous pouvez commencer votre fichier par un "shebang" #!/bin/bash
et le rendre exécutable (chmod +x script
). Ensuite, vous pouvez traiter le script comme un binaire et l'exécuter par exemple en tant que ./script
ou placez-le à un endroit où vous le cherchez. (echo $PATH
)
Très probablement, votre shell interactif et le shell utilisé pour s'exécuter sont bash
Du point de vue d'un "premier jour d'apprentissage de Linux", bash fonctionne exactement de la même manière dans les deux modes. - Beaucoup plus tard, vous pourriez tomber sur de légères différences. Si vous voulez vraiment en savoir plus, je vous suggère de lire man bash
et rechercher les lieux mentionnant "interactif". (Vous pouvez rechercher une page de manuel en appuyant sur /
.)
Une chose importante à noter est que le script est exécuté comme un nouveau processus. Cela signifie notamment que les variables définies dans le script ne sont pas visibles dans le shell appelant.
$ 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
$
Sans l'export a
n'est même pas visible pour le script interne.