Maison  >  Article  >  Opération et maintenance  >  Maîtriser complètement la programmation Shell dans les systèmes Linux

Maîtriser complètement la programmation Shell dans les systèmes Linux

WBOY
WBOYavant
2022-01-18 17:09:452871parcourir

Cet article vous apporte des connaissances sur la programmation shell dans les systèmes Linux. Avant d'apprendre la programmation Shell, nous devons d'abord savoir ce qu'est Shell et ce que sont les scripts shell. J'espère que cela sera utile à tout le monde.

Maîtriser complètement la programmation Shell dans les systèmes Linux

1. Qu'est-ce que Shell

1. Avant d'apprendre la programmation Shell, nous devons d'abord savoir ce qu'est Shell

La relation entre les utilisateurs, Shell, le noyau Linux et le matériel est la suivante :

Shell est un programme d'application, qui peut également être considéré comme un interpréteur de commandes. Il s'agit d'un pont entre l'utilisateur et le noyau Linux. Il peut transférer les opérations de l'utilisateur sur l'interface graphique ou les commandes saisies dans le terminal vers le noyau Linux. , puis le noyau Linux peut planifier divers matériels et autres ressources pour terminer les opérations utilisateur.

Qu'est-ce que le noyau Linux ? Dans le système d'exploitation Linux, la partie qui peut réellement faire fonctionner le matériel informatique pour accomplir une certaine fonction utilisateur est appelée le noyau du système Linux. Lorsque les utilisateurs utilisent un système Linux, ils ne peuvent pas faire fonctionner directement le noyau, mais indirectement le noyau via le Shell. Le Shell ne fait pas partie du noyau, mais une application développée en dehors du noyau Linux. Il transmet les opérations de clic de souris ou les commandes d'entrée reçues au noyau, et le noyau planifie ensuite le matériel pour terminer l'opération spécifiée. De cette façon, les utilisateurs n'ont pas besoin d'exploiter directement le noyau, mais d'exploiter indirectement le noyau via le Shell. Le noyau ne sera pas directement exposé à l'extérieur, ce qui garantit la sécurité du noyau et simplifie les opérations de l'utilisateur. L'application de 程SHELL est démarrée au pouvoir. Lorsque nous exploitons le système Linux, nous passons tous directement ou indirectement par le shell pour faire fonctionner le noyau Linux. En fait, avant l'existence d'une interface graphique, les utilisateurs appelaient directement l'application Shell via le terminal ou la console, puis exploitaient le système Linux en saisissant des commandes. Les $ et # que les utilisateurs voient sur la console ou le terminal sont en fait l'invite de commande Shell, qui indique que l'utilisateur a accédé au programme Shell et qu'il lui suffit de saisir des commandes pour faire fonctionner le noyau Linux via le Shell. C'est juste que $ s'affiche lorsque l'utilisateur root se connecte et # s'affiche lorsque l'utilisateur ordinaire se connecte.

De plus, le processus par lequel Shell transfère les opérations utilisateur vers le noyau est le processus d'appel de l'interface API fournie par le noyau. Par exemple, l'utilisateur effectue une opération d'ouverture d'un fichier sur l'interface graphique ou la ligne de commande du terminal. Après avoir reçu l'opération de l'utilisateur, le Shell appellera la fonction correspondante fournie par le noyau, puis le noyau planifiera les ressources matérielles pour terminer l'opération. fonctionnement de l'utilisateur.

2. Common Shell

Nous savons que Linux est un système d'exploitation open source, développé conjointement par plusieurs organisations ou individus à travers le monde. Chaque organisation ou individu est responsable de certaines fonctions, et finalement combinées, elles. forment le Linux que nous utilisons actuellement. C'est pour cette raison que ces différentes organisations ou individus développeront des applications pouvant être utilisées dans les systèmes Linux. Les fonctions de ces applications peuvent être similaires, et chacune a ses propres avantages et inconvénients. C'est à l'utilisateur de choisir laquelle. à utiliser. Shell est une telle application, il existe donc de nombreuses versions de Shell. Actuellement, le shell par défaut utilisé par la plupart des distributions Linux est le shell bash. Les autres versions courantes de Shell sont les suivantes :

                                  (1)

sh : Le nom complet de

sh est Bourne Shell, qui est le shell standard sous UNIX. De nombreuses versions d'UNIX sont équipées de sh. sh fut le premier obus populaire.                                              (2)

csh :

La syntaxe de ce shell est quelque peu similaire au langage C, il est donc nommé C shell, ou csh en abrégé.                                        (3)

tcsh :

tcsh est une version améliorée de csh, ajoutant une fonction de complétion de commande et offrant une prise en charge de la syntaxe plus puissante.                                                  (4)

ash :

Un shell léger qui consomme peu de ressources, adapté à une exécution dans des environnements à faible mémoire et entièrement compatible avec le shell bash.

                 (5) bash : bash shell est développé par l'organisation GNU et maintient la compatibilité avec sh shell. Il s'agit du shell par défaut configuré dans diverses distributions Linux.

3. Vérifiez le Shell du système Linux

Dans le système Linux, le shell par défaut est généralement le shell bash. Shell est une application, généralement placée dans un fichier /bin或者/user/bin目录下,而当前 Linux 系统可用的 Shell 都记录在/etc/shells.

(1) Pour afficher le shell actuellement disponible dans le système, exécutez la commande [cat -n /etc/shells] :

(2) Pour afficher le shell actuellement utilisé par le système par défaut, exécutez le commande [echo $SHELL] :

(3) Visualisez le Shell utilisé par chaque utilisateur, exécutez la commande [cat -n /etc/passwd] :

2. Qu'est-ce que la programmation Shell

1. Qu'est-ce que le langage de programmation Shell

Nous savons déjà que Shell est une application, et cette application peut non seulement transmettre les commandes d'opération de l'utilisateur au noyau Linux, mais elle prend également en charge la programmation. Shell correspondra à un ensemble de syntaxes de langage de programmation, et cet ensemble de langages est appelé langage de programmation Shell ou langage de script Shell. Le langage de programmation Shell est un langage de script comme le langage JavaScript. Il ne nécessite pas de compilation et son interprète est l'application Shell elle-même.说 Le shell que nous disons habituellement dans notre travail, la plupart des cas font référence au langage de script shell, pas à l'application shell.

2. Qu'est-ce qu'un script Shell

Lorsque nous utilisons le langage de script Shell, nous pouvons l'utiliser en conjonction avec d'autres commandes d'exploitation du système Linux (telles que ls, grep, etc.), et nous pouvons utiliser le Shell langage de script en combinaison avec d'autres commandes pour compléter Un texte avec une extension .sh pour une fonction spécifique est appelé un script Shell.

3. Le premier script Shell

Nous savons déjà qu'il existe de nombreuses versions de Shell, et la syntaxe du langage de script Shell prise en charge par chaque version peut être différente, et tous les exemples de scripts Shell ci-dessous sont pour cette version de Bash Shell.录 (1) Créez un nouveau script hello.sh dans le répertoire racine : [vim Hello.sh]

(2) puis entrez ce qui suit :

#!/bin/bash     
echo "Hello World "

première ligne :#! le système Quelle version du Shell ce script doit-il utiliser comme interpréteur ? Le /bin/bash qui le suit immédiatement est le chemin du Shell, donc [#!/bin/bash] signifie déclarer utiliser le shell bash dans le répertoire bin comme interprète de ce script. ;

La deuxième ligne : [echo "Hello World "] signifie le texte de sortie Hello World ! ;

(3) Ensuite, enregistrez et quittez : [!wq];

(4) De cette façon, on peut afficher Hello World ! Le scénario est terminé.

Explication supplémentaire :

Nous avons déjà dit plus haut que le programme Shell est l'interprète du langage de script Shell, et lorsque nous utilisons le terminal (comme par exemple la connexion au terminal du serveur Linux via Xshell), nous sommes en fait entrés dans le Shell. Pour ce programme, nous pouvons en fait saisir le code dans le langage de programmation Shell directement dans le terminal pour l'exécuter, sans avoir à l'écrire dans un script avant de l'exécuter. Par exemple, déclarez une variable et imprimez la valeur de cette variable :

            (1) Saisissez le code : [name=Zhang San], ce qui signifie qu'un nom de variable est défini et sa valeur est Zhang San ; ) Entrez le code : [ echo $name] signifie imprimer la valeur du nom de la variable.

Bien sûr, cette méthode ne convient que pour exécuter une logique simple avec seulement une ou deux phrases de code. Dans la plupart des cas, nous écrivons toujours le code de programmation Shell dans un script .sh puis l'exécutons.

4. Comment exécuter le script Shell

Ci-dessus, nous avons écrit un script qui peut afficher Hello World ! Le script Shell est exécuté et nous devons maintenant exécuter le script Hello.sh. Il existe deux manières d'exécuter le script Shell :

La première : donnez l'autorisation d'exécution du texte .sh, puis exécutez le texte :

(1) Donnez d'abord l'autorisation d'exécution du script Shell : [chmod +x Hello.sh] ;

( 2) Exécution directe : chemin absolu : [/hello.sh] ou chemin relatif : [./ hello.sh]

Attention, si vous utilisez le chemin relatif lorsque vous êtes exécuté ici, vous devez commencer par ./ et indiquez-le pour indiquer le répertoire courant, sinon le système ne pourra pas trouver le script, provoquant l'échec de l'exécution.

                                                                                                                                                     out out out out out sortant à  à travers           out out out out de '                     out out out out de '                     out out out out de '                      out out out out de '                    un paramètre : Juste transmettez-le à Shell en paramètre : [/bin/bash Hello.sh] ou [bash Hello.sh]

(2) Il convient de noter ici que lors de l'utilisation de cette méthode pour exécuter le script Shell, dans le d'abord Il n'est pas nécessaire de déclarer quelle version de Shell utiliser comme interpréteur sur une seule ligne, c'est-à-dire qu'il n'est pas nécessaire de cette ligne de code [#!/bin/bash], car dans la commande nous exécutons le script [ /bin/bash Hello.sh], il spécifie déjà quelle version de Shell utiliser comme interpréteur. être exécutés. différences dans les méthodes d’exécution.

Recommandations associées : "

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer