Maison > Article > Opération et maintenance > Maîtriser complètement la programmation Shell dans les systèmes Linux
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.
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(1)
sh : Le nom complet desh 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. 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 (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] : 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 (2) puis entrez ce qui suit : 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é. 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. 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 : [ 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] Recommandations associées : " " 3. Vérifiez le Shell du système Linux
/bin
或者/user/bin
目录下,而当前 Linux 系统可用的 Shell 都记录在/etc/shells
. 2. Qu'est-ce que la programmation Shell
1. Qu'est-ce que le langage de programmation 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]
#!/bin/bash
echo "Hello World "
4. Comment exécuter le script Shell
chmod +x
Hello.sh
] ;
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!