Dans cette nouvelle opportunité (entrée # 8) sur "Apprendre le script Shell" nous nous concentrerons davantage sur la théorie que sur la pratique. c'est-à-dire que nous n'installerons ni n'étudierons un code, ni n'installerons un logiciel (package) spécifique, mais nous explorerons ce qu'est le monde Shell Scripting proprement dit, à travers les réponses à des questions petites mais directes, qui sont présentées ci-dessous, pour clarifier une grande partie de ce qui a été enseigné, qui ne renvoie pas directement au code interne qui est programmé:
Qu'est-ce que le Shell dans un système d'exploitation GNU / Linux?
Shell qui en espagnol signifie CONCHA (coque, couverture, protection). Appliqué ce terme dans les systèmes d'exploitation se réfère à l'interpréteur de commandes du système d'exploitation. En général, il s'agit d'une interface texte performante, se manifestant sous la forme d'un Terminal (Console) et essentiellement utilisée pour 3 zones de travail importantes:
1.- Gérer l'OS,
2.- Exécutez des applications et interagissez avec elles, et
3.- Servir d'environnement de programmation de base.
Beaucoup de SO, GNU / Linux ils sont toujours gérés plus efficacement en éditant leurs fichiers de configuration, via Terminal. En règle générale, ils se trouvent sur le chemin de destination: «/etc", et dans des répertoires spécifiques pour chaque application. Par exemple, le programme Lilo (qui signifie Linux Loader) est configuré en éditant le fichier texte localisé et appelé comme "/Etc/lilo/lilo.conf". Dans le cas des programmes (applications), ceux-ci sont lancés (exécutés / activés) en écrivant le nom de l'exécutable, s'il se trouve dans le chemin (chemin par défaut) de tous les exécutables, comme c'est normalement le cas "/ Usr / bin" , ou en tapant le nom de l'exécutable précédé de: ./, à partir du répertoire où ils se trouvent.
Tout cela est bien connu de tout utilisateur de Shell. Cependant, ses capacités en tant qu'environnement de programmation ne sont pas aussi bien connues et appréciées. Les scripts (programmes) créés dans le Shell n'ont pas besoin d'être compilés. Le Shell les interprète ligne par ligne. Par conséquent, ceux-ci sont connus ou nommés sous le nom de scripts Shells et peuvent aller de simples commandes à des séries complexes d'instructions pour démarrer le système d'exploitation lui-même. En général, ils ont une syntaxe assez propre (construction, ordonnancement) (évidente), ce qui en fait un bon point de départ pour se lancer dans le monde de la programmation.
Qu'est-ce que le script Shell?
C'est la technique (compétence / dextérité) de conception et de création de Script (fichier d'automatisation de tâches) à l'aide d'un Shell (de préférence) d'un système d'exploitation, ou d'un éditeur de texte (graphique ou terminal). Il s'agit d'un type de langage de programmation généralement interprété. Autrement dit, alors que la plupart des programmes sont compilés (encodés), car ils sont convertis en permanence en un code spécifique (spécial) avant de pouvoir être exécutés (processus de compilation), un script shell reste dans sa forme d'origine (son code source de texte) et sont interprétés commande par commande à chaque exécution. Bien qu'il soit possible que les scripts puissent également être compilés, bien que ce ne soit pas habituel.
Quelles sont les caractéristiques des programmes basés sur la programmation sous Shell Scripting?
1.- Ils sont plus faciles à écrire (programme), mais avec un coût de traitement plus élevé lorsqu'ils sont exécutés.
2.- Ils utilisent des interprètes au lieu de compilateurs pour exécuter
3.- Ils ont une relation de communication avec des composants écrits dans d'autres langages de programmation.
4.- Les fichiers qui les contiennent sont stockés sous forme de texte brut.
5.- La conception finale (code) est généralement plus petite que ce qui serait l'équivalent dans un langage de programmation compilé.
Quels sont les types de langages les plus populaires sous Shell Scripting?
1.- Langage de contrôle des tâches et du shell:
a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, bash, AppleScript, sh,
d) JScript via Windows Script Host,
e) VBScript via Windows Script Host,
f) REXX, parmi tant d'autres.
2.- Scripting GUI (Langages Macros):
a) Touche de raccourci automatique,
b) AutoIt,
c) Attendez-vous,
d) Automator, entre autres.
3.- Langage de script d'applications spécifiques:
a) ActionScript dans Flash,
b) MATLAB,
c) script mIRC,
d) QuakeC, entre autres.
4.- Programmation Web (pour les pages dynamiques):
a) Côté serveur:
- PHP,
- ASP (Active Server Pages),
- Pages JavaServer,
- Fusion froide,
- IPTSCRAE,
- Lasso,
- Script MIVA,
- SMX,
- XSLT, entre autres.
b) Côté client:
- JavaScript,
- JScript,
- VBScript,
- Tcl, entre autres.
5.- Langages de traitement de texte:
- AWK,
- Perl,
- La soif,
- XSLT,
- Bash, entre autres.
6.- Langages dynamiques à usage général:
- APL,
- Boo,
- Dylan,
- Férite,
- Sensationnel,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NouveauLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Rubis,
- Schéma,
- Smalltalk,
- SuperCard,
- Tcl,
- Révolution, entre autres.
Qu'est-ce que Bash dans GNU / Linux?
C'est un programme informatique dont la fonction est d'interpréter les commandes. Il est basé sur le Shell Unix et est compatible avec POSIX. Il a été écrit pour le projet GNU et est le shell par défaut pour la plupart des distributions Linux.
Qu'est-ce qu'un script Shell dans GNU / Linux?
Les scripts Shell ils sont extrêmement utiles. C'est une bonne idée d'écrire les besoins que nous avons, puis d'éditer les scripts qui font ce travail pour nous. À présent, il est temps de vous demander ce qu'est exactement un script. C'est un fichier texte, contenant une série de commandes shell, que le système exécute de manière ordonnée, de haut en bas. Pour les éditer, vous n'avez besoin que d'un éditeur de texte, tel qu'Emacs, Vi, Nano, parmi beaucoup d'autres. Ils sont enregistrés avec l'extension «.sh» (ou sans elle, dans certains cas) et sont exécutés depuis le Shell en utilisant la commande: sh script name.sh. Les scripts se comportent de la même manière que les commandes shell.
L'approche pédagogique que j'utilise personnellement pour "Apprendre le script Shell" Il est très pratique et direct, c'est-à-dire d'examiner un script entièrement fonctionnel, de le décomposer, de l'étudier phrase par phrase, ligne par ligne, commande par commande, variable par variable, jusqu'à ce que vous compreniez comment chaque élément fonctionne séparément et comment il s'engage dans le code général. Il est une sorte de Ingénierie inverse ou réingénierie logicielle. Tout cela dans le but de s'approprier les connaissances, de les améliorer (les optimiser) et de les partager, pour le bénéfice collectif et une meilleure administration et optimisation des systèmes d'exploitation gratuits.
Comment fonctionne-t-il et fonctionne-t-il dans un shell GNU / Linux?
La première étape du travail avec un shell consiste à exécuter un shell. Ce qui semble être un truisme a sa raison d'être. Dans certaines distributions GNU / Linux très orientées utilisateur final, le shell est assez caché. Normalement, il s'appelle: Konsole, Terminal, Terminal X ou quelque chose de similaire. Une autre option consiste à utiliser une console virtuelle. Utilisation: Ctrl + Alt + f1, ou f2, ou f3 à f7 ou f8, selon la distribution GNU / Linux que vous utilisez. Le Shell le plus utilisé dans GNU / Linux est Bash, bien qu'il y en ait d'autres, comme ksh ou C Shell. Dans mon cas, très particulier pour mes publications, j'utilise Bash Shell.
Étant donné un script créé dans Bash Shell appelé bonjour_world.sh ce qui suit peut être expliqué:
Contenu:
#! / Bin / bash
echo bonjour le monde
Panne:
Première ligne du script
#! / Bin / bash
Indique le programme que le script doit exécuter. Si le programme est introuvable, une erreur se produit.
Deuxième ligne du script
echo bonjour le monde
Exécutez la commande echo avec les arguments Hello World, les faisant s'afficher à l'écran.
Exécution: Nous pouvons exécuter le script de deux manières
Appel de l'interpréteur pour exécuter le script:
# bash hello_world.sh
Il peut également être exécuté comme:
# sh bonjour_world.sh
Mais comme votre shell correct n'est pas appelé, il peut fonctionner à moitié. Idéalement, le Shell invoqué dans la première ligne est celui utilisé pour l'exécuter.
Vous pouvez également exécuter le script directement comme suit:
# ./hello_world.sh
Observation: ./ indique une exécution à partir du répertoire courant.
Le reste qui reste à analyser est le code que vous y insérez. J'espère que comme toujours vous aimez (certains plus que d'autres, selon les besoins d'apprentissage et de connaissances) cette série de Shell Scripting.
Il existe de nombreux bons liens sur ce sujet sur le web, mais je vous laisse ce petit guide situé juste ici à DesdeLinux. Net Et cet autre Guide externe.
Jusqu'au prochain post!
Lilo .. Linux Loader .. le reste très bonne info .. merci .. salu2 d4ny.-
Salutations à tous ceux qui suivent le cours en ligne "Apprendre les scripts Shell" bientôt, nous continuerons avec d'autres scripts de base pour continuer à s'approprier les connaissances et continuer à les socialiser avec tous.
J'espère que vous resterez à l'écoute car bientôt je commencerai avec des codes plus avancés mais exposés d'une manière visuellement compréhensible malgré sa complexité.
N'oubliez pas qu'avec Shell Scripting, vous pouvez effectuer de nombreuses opérations complexes multiplateformes (Différents Distros) en utilisant de très petits fichiers. Je vais vous laisser ce petit screencast de quelque chose que je vous apprendrai bientôt, à ceux qui continuent à regarder le cours, et qui avec seulement 50Ko promet beaucoup! Et ce n'est que la moitié de ce qui peut être fait avec Shell Scripting.
Test ScreenCast LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
(lpi_sb8_adaptation-audiovisuel_2016.sh / 43Ko)
Voir Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY
Bonjour, votre contribution est incroyable, vraiment merci beaucoup !!
J'ai un petit doute, puis-je programmer un compilateur avec bash?
Ou au moins un analyseur lexical?
a ce pouvoir?
Salutations à tous ceux qui suivent le cours en ligne "Apprendre les scripts Shell" bientôt, nous continuerons avec d'autres scripts de base pour continuer à s'approprier les connaissances et à les socialiser avec tous. J'espère que vous restez à l'écoute car bientôt je commencerai avec des codes plus avancés mais exposés d'une manière visuellement compréhensible malgré sa complexité.
N'oubliez pas qu'avec Shell Scripting, vous pouvez effectuer de nombreuses opérations complexes multiplateformes (Différents Distros) en utilisant de très petits fichiers. Je vais vous laisser ce petit screencast de quelque chose que je vous apprendrai bientôt, à ceux qui continuent à regarder le cours, et qui avec seulement 50Ko promet beaucoup! Et ce n'est que la moitié de ce qui peut être fait avec Shell Scripting.
Test ScreenCast LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
(lpi_sb8_adaptation-audiovisuel_2016.sh / 43Ko)
Voir Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY
Salut Jose,
Tout d'abord merci de partager vos connaissances. Vos articles sont très intéressants.
Deux choses, je pense qu'il est très important d'utiliser les doubles guillemets "Hello World" et d'avoir une sortie propre de notre script avec la sortie 0
Merci pour vos contributions, dans le prochain script, vous verrez l'utilisation de la sortie 0, pause et autres!
Salutations.
Très intéressant, vous le faites paraître simple; Maintenant, j'ai trouvé que je ne peux pas programmer sous Linux avec cron ou at, shutdown / suspend / hibernate, avec le démarrage automatique conséquent en utilisant la commande rtc wake, je ne sais pas si un script avec cette commande aiderait, ou ils suivraient cron et t sans rien faire, ou cela ne peut tout simplement pas être fait, ou cela se fait différemment, ou je suis très ambitieux, mais sous Windows, c'est relativement simple de le faire. Je veux passer à Linux, mais il est important pour moi de planifier l'arrêt / la suspension / la mise en veille prolongée et le démarrage du PC par lui-même. Cordialement.
Peut-être que cela vous donnera des idées innovantes: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html
http://cirelramos.blogspot.com/2015/12/programar-servidor-para-enviar-mensajes.html
Merci, je vais les lire attentivement, quelque chose va m'aider. Cordialement.
Il y a quelque temps, j'ai lancé un projet qui, je pense, est unique en son genre. C'est un prototype pour un Framewok Bash. Il ne nécessite que Bash sur le système.
Si quelqu'un d'autre est intéressé, il est invité à l'essayer et à collaborer!
Salutations!
Cher Eduardo, je pense que c'est un projet formidable, peut-être pourriez-vous le partager avec toute la communauté de desdelinux, n'oubliez pas que vous pouvez publier un article sur votre projet sur notre site, si vous ne savez pas comment faire, je vous recommande de lire https://blog.desdelinux.net/guia-redactores-editores/ où sont les meilleures pratiques pour créer des articles dans desdelinux et la procédure à suivre. Peut-être que pour la communauté, il est bon de connaître d'abord les avantages de votre projet et ensuite d'apprendre comment faire ce genre de choses. Nous vous invitons et nous invitons les autres à partager leurs projets avec nous et la grande communauté qui nous entoure.
Bonjour, bonjour.
Je suis nouveau dans le monde de l'administration des machines Linux, et je voulais savoir ce que vous recommandez pour cela: ksh, bash, perl, php, python….
Merci beaucoup et meilleures salutations.
Miguel.