Maison  >  Article  >  Opération et maintenance  >  Comment exécuter un programme shell sous Linux

Comment exécuter un programme shell sous Linux

王林
王林original
2020-03-12 14:24:284577parcourir

Comment exécuter un programme shell sous Linux

Tout d'abord, jetons un coup d'œil à un programme test.sh

#!/bin/sh
#this is a test.
cd /tmp
echo "hello,this is a test"

Comment exécuter le programme :

1. Le fichier dispose des autorisations exécutables, exécutez le fichier directement.

La commande chmod permet de modifier les autorisations des fichiers.

+x rend le fichier exécutable. Tout comme nous avons exécuté le programme ci-dessus.

(Tutoriel recommandé : tutoriel Linux )

2. Appelez directement l'interpréteur de commandes pour exécuter le programme.

Comment exécuter un programme shell sous Linux

Puisque notre interpréteur est /bin/sh, nous utilisons l'interpréteur de commandes sh pour exécuter le programme.

3. Utilisez source pour exécuter le fichier.

Comment exécuter un programme shell sous Linux

Explication des différences d'exécution du programme :

Parmi les trois méthodes que nous utilisons pour exécuter des programmes shell, les processus d'exécution des deux premières méthodes sont les suivants :

(1) Le processus parent a reçu la commande et a constaté qu'il ne s'agissait pas d'une commande intégrée, il a donc créé un processus shell comme le sien pour exécuter la commande externe

(2) Ce processus enfant du shell utilise /bin /sh se remplace et le processus sh définit ses propres variables d'environnement d'exécution, y compris la variable $PWD.

(3) Le processus sh exécute les commandes intégrées cd et echo en séquence. Au cours de ce processus, les variables d'environnement du processus sh (processus enfant) sont modifiées par la commande cd.

(4) Une fois le processus enfant exécuté, il meurt. Le processus parent qui attendait se réveille et continue d'accepter les commandes.

Nous comprenons donc la raison pour laquelle les résultats d'exécution des deux premières méthodes sont différents de nos attentes. Le répertoire courant (variable d'environnement) du processus parent ne peut pas être modifié par le processus enfant.

Cependant, lors de l'utilisation de source pour exécuter un script shell, le processus enfant ne sera pas créé, mais sera exécuté directement dans le processus parent.

Tutoriels vidéo associés recommandés : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn