GNU/Linux >> Tutoriels Linux >  >> Linux

Différence entre les commandes dans le script bash et les commandes dans le terminal

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.


Linux
  1. La différence exacte entre un « terminal », un « shell », un « tty » et une « console » ?

  2. Différence entre le shell de connexion et le shell sans connexion ?

  3. La différence entre les commandes d'arrêt et d'arrêt ?

  4. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  5. Différence entre les variables Shell qui sont exportées et celles qui ne sont pas dans Bash ?

Quelle est la différence entre la connexion et le shell sans connexion

Différence entre les guillemets simples et doubles dans Bash Shell

Quelle est la différence entre une console, un terminal et un shell ?

Quelle est la différence entre exécuter un script Bash et le sourcer ?

Différence entre pts et tty

Différence entre les commandes 'ifconfig' et 'ip'