Shell Scripting sous Linux - Les ordinateurs en général comprennent le langage des 0 et des 1 qui est connu comme un langage binaire. Il y a des décennies, les gens écrivaient des programmes et des applications comme des calculatrices dans des langages binaires. Mais ce n'était pas joli. Imagine seulement! Vous voulez calculer 73 + 96, comment écririez-vous? Vous devriez plutôt calculer l'entier binaire pour 73 et 96, puis les ajouter. Une personne doit être assez stupide pour faire ça. On préfère calculer 73 et 96 sur un papier et passer à autre chose. Mais c'est pour la plus petite partie. Et si vous deviez calculer quelque chose comme (19273/23 * (2967 3)). Je dirais maintenant que c'est assez intense.
Donc, un homme indeal apprenant à tout encoder en langage binaire n'a pas de sens. C'est la principale raison pour laquelle les ordinateurs n'étaient pas populaires dans les années 70 et 80. Mais plus tard, avant même le développement de Windows, les gens ont commencé à développer des noyaux et des trucs similaires qui étaient au cœur du système d'exploitation. Les noyaux utilisés pour comprendre le format lisible par l'homme d'un programme spécifique, puis le convertir en code machine. Et c'est là que les langages de programmation ont émergé et changé toute l'ère du monde informatique. Les applications ont été construites en C et C ++, et plus tard avec Java, Python, Ruby et Perl.
À l'heure actuelle, il existe plus de 50 langages de programmation tout autour. Et c'est au moins ceux que je connais. Sans parler du fait qu'il existe d'autres langages de programmation qui sont encore plus difficiles à comprendre que le code machine. Mon point étant, des exemples comme la programmation de poulet et Malbolge. Ce sont des choses sérieuses et désagréables à gérer.
Programmation Shell… .errr… Scripting?
Maintenant, vous vous demandez peut-être pourquoi je n'ai pas mentionné la programmation Shell ci-dessus avec les autres langages de programmation. La raison principale étant que Shell lui-même n'est pas un langage de programmation. C'est un langage de script. Shell est juste un programme interactif utilisateur qui interprète n'importe quelle entrée de l'utilisateur et donne le résultat à condition que la commande soit valide. Il passe ensuite le programme au noyau pour l'exécuter. Le shell ne fait pas partie du noyau, mais à la place, il utilise le noyau pour faire son travail d'exécution et de création de fichiers.
Types de programme de script shell
Maintenant, contrairement à C, C ++ ou Java, il existe plusieurs autres types de shells qui peuvent être utilisés pour Shell Scripting. Voici les quatre types de coque disponibles jusqu'à ce jour:
Non. | Type de coque | La description |
1. | Bash aka Bourne Again Shell | Il s'agit du shell le plus courant disponible sur tous les systèmes Linux et Debian. C'est open source et freeware. |
2. | Coque CSH ou C | Ce programme de script Shell utilise la syntaxe shell de la programmation C et est presque similaire à C. |
3. | KSH ou Korn Shell | Korn est un programme de script Shell basé sur Unix, initialement basé sur le script de shell Bash. Ce shell est assez avancé et c'est un langage de programmation de haut niveau. |
4. | TCSH | Il n'y a pas de forme complète spécifique de TCSH. C'est comme il est. TCSH est une version avancée du shell Berkeley Unix C. Il prend à nouveau en charge la syntaxe de style C |
Quant à aujourd'hui, nous ne sommes pas intéressés par tous les obus ci-dessus ici. Nous ne nous intéressons qu'au shell Bash, car c'est le shell le plus couramment utilisé dans le monde aujourd'hui.
The Bash Shell
Le programme de script Bash Shell est un langage de script de haut niveau, similaire à celui de python. Mais si vous avez déjà eu de l'expérience avec Python, vous constaterez que Bash Shell Scripting est beaucoup plus facile que tout autre langage de script. On peut écrire des scripts en bash beaucoup plus rapidement qu'en C, C ++, Java ou Python. Le terminal par défaut dans l'environnement le plus Linux d'aujourd'hui, par exemple pour: - Ubuntu, Linux Mint Cinnamon / Rafaela, Fedora, Arch Linux ou tout autre environnement Debian se compose de Bash comme shell par défaut. Vous pouvez cependant vérifier tous les environnements shell présents dans votre système en tapant ce qui suit dans le terminal par défaut: -
$ cat / etc / shells |
(Remarque: le signe dollar au début est utilisé pour identifier un terminal.)
La syntaxe 'cat' est utilisée pour lire les fichiers texte. Les types de programmes de script shell dans un environnement Linux, Unix ou Debian sont stockés dans le fichier shell dans le répertoire etc. Chaque shell a son propre ensemble unique de syntaxes et son propre ensemble de fonctions intégrées. Le DOS ou les fenêtres ont également leur propre shell connu sous le nom de fameuse «invite de commande» ou «powershell» à partir de Windows 8.1, mais il n'est toujours pas aussi puissant que le bash. La syntaxe cat vous donnera la liste des shells disponibles sur le système, cependant pour trouver le shell par défaut ou pour vérifier le shell utilisant actuellement, on peut utiliser la syntaxe suivante dans le Shell Scripting Terminal: -
$ echo $ SHELL |
La syntaxe 'echo' est utilisée pour imprimer n'importe quelle instruction. Ici, «SHELL» est une variable affectée à l'impression du shell courant. Le signe dollar après «écho» est utilisé pour représenter une variable dans Shell Scripting.
Cours recommandés
- Cours de certification en Java Hibernate
- Cours de printemps Java
- Formation en ligne sur WordPress
- Formation Ruby
Script Shell
Donc, maintenant que vous savez ce qu'est un shell, jetons un œil à Shell Scripting et pourquoi il est connu comme ça. Shell Scripting n'est rien d'autre qu'une série de commandes dans un simple fichier texte se terminant par une extension «.sh». Le '.sh' détermine qu'il s'agit d'un fichier exécutable shell. Après avoir écrit un script shell, il faudrait changer l'autorisation exécutable en utilisant la «fonction chmod». Par défaut, tout shell nouvellement créé n'est pas exécutable dans l'environnement UNIX ou Linux, sauf si les autorisations sont modifiées spécifiquement. Shell Scripting est presque similaire à celui de la programmation par lots de Windows, mais la différence est que Shell Scripting est plutôt plus puissant et fournit un environnement interactif beaucoup plus haut de gamme avec des compléments d'onglets. Il faut utiliser un bon éditeur de texte pour écrire un script shell. Les meilleurs que je connaisse sont Vim, Gedit et Leafpad.
Contrairement à d'autres langages de programmation, les scripts Shell sont plus rapides à écrire et à exécuter. Vous n'avez pas besoin de télécharger de bundles ou de dépendances spécifiques pour l'exécuter. Ils peuvent être utilisés non seulement par un administrateur système, mais aussi par une personne normale pour exécuter quotidiennement des scripts automatisés. Voici un exemple simple d'un script écrit ici.
#! / bin / bash echo -e "Bienvenue dans le premier programme shell. \ n" echo -e "Écrivez quelque chose ici et ce programme imprimera la même chose. \ n" #demander à l'utilisateur de lire les entrées #lire l'entrée de l'utilisateur echo "Vous entrée: $ input ” exit 0 |
Maintenant, laissez-moi vous expliquer tous les paramètres du code ci-dessus. Tout d'abord, écrivez le code ci-dessus dans un fichier texte au format «tel quel» et enregistrez-le avec une extension se terminant par «.sh». Par exemple, nommez le fichier «main_program.sh». Assurez-vous qu'il ne s'agit pas de «main_program.sh.txt». La plupart des débutants ont tendance à faire de même et ce n'est pas exécutable. Une fois le code ci-dessus copié, modifiez ses autorisations en utilisant la syntaxe suivante dans le terminal: -
$ chmod + x main_program.sh OU $ chmod 755 main_program.sh |
N'hésitez pas à utiliser l'une des commandes ci-dessus car les deux font la même chose. Dans les programmes de script shell bash modernes, le '755' est changé en '+ x'; donc peu importe celui que vous utilisez réellement. Après avoir modifié les autorisations, tapez ce qui suit pour l'exécuter.
$. / main_program.sh |
Le point et la barre oblique sont utilisés pour identifier et exécuter les scripts shell. Une fois que vous exécutez le script ci-dessus, il imprimera la première instruction echo et vous demandera ensuite de saisir quelque chose. Une fois entré, il vous imprimera la même chose et quittera l'interpréteur. Permettez-moi donc d'expliquer toutes les syntaxes ci-dessus. Le '#! / Bin / bash' est utilisé pour indiquer à l'interpréteur qu'il s'agit d'un script bash et que le programme de script du shell Bash se trouve dans le répertoire 'bin'. La commande 'echo' est utilisée pour imprimer n'importe quelle instruction et le drapeau '-e' est utilisé pour indiquer au shell qu'il y aura soit une nouvelle ligne identifiée comme une 'barre oblique n ou \ n' ou une tabulation 'barre oblique t ou \ t 'ou ses goûts à l'intérieur de la déclaration en écho. La partie de hachage sur la deuxième ligne est utilisée pour identifier un commentaire dans un script bash. Tout ce que vous écrivez après le hachage est commenté et ne sera pas exécuté. Mais cela ne s'applique pas au '#! / Bin / bash' sur la première ligne. C'est ainsi que le script est censé fonctionner. La syntaxe «lecture» est utilisée pour lire toute entrée de l'utilisateur. Et l '«entrée» que j'ai mentionnée après la syntaxe «lecture», est la variable dans laquelle l'entrée de l'utilisateur est stockée. On peut utiliser n'importe quelle variable au lieu de l'entrée. Sur l'avant-dernière ligne, l'entrée $ est utilisée pour s'identifier en tant que variable et sortir l'entrée stockée à l'intérieur. Enfin, la commande exit est utilisée pour quitter l'interpréteur avec un zéro de sortie propre.
Script non interactif
L'exemple ci-dessus est maintenant assez simple. Mais il existe des modules intégrés que vous pouvez utiliser au lieu de donner toutes les entrées par vous-même. Voici un morceau de code, qui imprime le nom d'utilisateur actuellement connecté, l'heure actuelle, la date du calendrier et le nombre de connexions également: -
#! / bin / bash # Ce script imprimera les informations utilisateur actuellement connecté, le nombre d'utilisateurs connectés, la date, l'heure et le calendrier echo "Bonjour, $ USER" echo "La date et l'heure d'aujourd'hui sont" date "" echo "Nombre d'utilisateurs connectés:` qui | wc -l` ”
écho «Calendrier» cal sortie 0 |
Exécutez ce script après avoir modifié les autorisations du fichier ci-dessus. Maintenant, vous vous demandez peut-être que dans le script précédent, nous avons en fait entré l'entrée puis retourné l'entrée en utilisant la variable th. Mais ici, nous n'avons fourni aucune entrée dans la variable '$ USER', alors comment se fait-il qu'il imprime l'utilisateur exact. La raison principale étant que ces choses sont déjà configurées dans le système. Rappelez-vous que je vous ai déjà parlé de $ SHELL au début, comment il est défini par défaut? Oui, c'est le cas avec $ USER ici. Quant à la date, si vous tapez simplement «date» sans aucune citation dans le terminal, elle imprimera la date et l'heure exactes. Je viens d'utiliser un guillemet simple (`) pour s'identifier en tant que syntaxe plutôt qu'en tant que partie d'une déclaration en écho. Le guillemet simple (`) exécutera toute syntaxe imprimée à l'intérieur, que ce soit dans une instruction ou n'importe où ailleurs. En ce qui concerne le nombre d'utilisateurs, la commande 'who' est utilisée pour vérifier les utilisateurs actuellement connectés ainsi que les processus connectés et la date et l'heure de son démarrage. Mais en ce qui concerne la commande ci-dessus, je l'ai en fait tronquée pour simplement afficher le nombre d'utilisateurs connectés en utilisant la commande 'wc -l'. La barre (|) ou ce qu'elle est communément appelée pipe est utilisée pour combiner deux commandes. La pipe représente bien plus que cela, mais je n'entrerai pas dans les détails ici. Et enfin, j'ai imprimé le calendrier en utilisant la commande intégrée «cal» pour imprimer la date actuelle dans le calendrier.
The Exit Zero
La sortie zéro est quelque chose que je n'ai expliqué dans aucun des programmes écrits ci-dessus. La principale raison étant «Exit Zero» a beaucoup plus de gravité que toutes les syntaxes ci-dessus dans Shell Scripting. Par défaut, chaque fois que vous exécutez un script dans une distribution Linux ou Unix, il renvoie deux types de valeurs ou plus précisément l'état de sortie pour vérifier si l'exécution du script shell a réussi ou non. S'il renvoie la valeur zéro, alors l'exécution a réussi, sinon il n'a pas été exécuté ou il y a eu une erreur lors de l'exécution. Ainsi, taper «exit 0» à la fin de tout script vérifie l'état d'exécution du script.
Toutes les choses que j'ai couvertes ici ne sont que la partie la moins élémentaire des scripts Shell dans la distribution Linux. La partie exit zero et le tube jouent un rôle important lors de l'exécution de plusieurs scripts shell dans les commandes linux et de leur utilisation avec les instructions conditionnelles if et else.
Articles Liés:-
Voici quelques articles qui vous aideront à obtenir plus de détails sur les types de scripts Shell pour les débutants Linux, alors suivez simplement le lien.
- D'entretiens chez Shell Scripting | Top 10 des questions utiles
- Linux vs Windows - Découvrez les 9 différences les plus impressionnantes
- Questions et réponses d'entrevue Linux | Utile et le plus demandé
- Carrières en administration Linux
- Règles et règlements des paramètres de script shell