Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tutoriel:script_shell [Le 07/10/2019, 14:36] BugFollower [La couleur] |
tutoriel:script_shell [Le 28/01/2020, 16:43] 193.248.49.158 fxgtcvfd |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
====== Introduction aux scripts shell ====== | ====== Introduction aux scripts shell ====== | ||
- | Un script shell permet d'automatiser une série d'opérations. Il se présente sous la forme d'un fichier contenant une ou plusieurs commandes qui seront exécutées de manière séquentielle. | + | Un script s |
- | <code> | + | |
- | #!/bin/bash | + | |
- | # This script will take an animated GIF and delete every other frame | + | |
- | # Accepts two parameters: input file and output file | + | |
- | # Usage: ./<scriptfilename> input.gif output.gif | + | |
# Make a copy of the file | # Make a copy of the file | ||
cp $1 $2 | cp $1 $2 | ||
Ligne 32: | Ligne 26: | ||
=====Pour faire qu'un script soit exécutable ===== | =====Pour faire qu'un script soit exécutable ===== | ||
- | ==== Méthode graphique ==== | + | H==== Méthode graphique ==== |
Votre script est un simple fichier texte, par défaut il s'ouvre donc avec l'éditeur de texte défini par défaut (ex : [[:gedit|Gedit]] dans une session Unity ou Gnome).\\ | Votre script est un simple fichier texte, par défaut il s'ouvre donc avec l'éditeur de texte défini par défaut (ex : [[:gedit|Gedit]] dans une session Unity ou Gnome).\\ | ||
Ligne 69: | Ligne 63: | ||
Cette commande chez moi donnait initialement : | Cette commande chez moi donnait initialement : | ||
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games | /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games | ||
- | + | ntion, ce répertoire s'appelle **bin** et se place dans votre répertoire personnel. Si votre répertoire personnel est /home/toto, ce répertoire sera donc **/home/toto/bin**. | |
- | C'est à dire que le shell va aller voir si la définition de la commande tapée ("ls" pour continuer sur le même exemple) se trouve dans **/usr/local/bin** puis dans **/usr/bin**... jusqu'à ce qu'il la trouve. | + | |
- | + | ||
- | Ajouter un répertoire au PATH peut donc être très pratique. Par convention, ce répertoire s'appelle **bin** et se place dans votre répertoire personnel. Si votre répertoire personnel est /home/toto, ce répertoire sera donc **/home/toto/bin**. | + | |
Pour pouvoir utiliser mes scripts en tapant directement leur nom (sans le "./") depuis n'importe quel répertoire de mon ordinateur, il me suffit d'indiquer au shell de chercher aussi dans ce nouveau dossier en l'ajoutant au PATH. | Pour pouvoir utiliser mes scripts en tapant directement leur nom (sans le "./") depuis n'importe quel répertoire de mon ordinateur, il me suffit d'indiquer au shell de chercher aussi dans ce nouveau dossier en l'ajoutant au PATH. | ||
Pour ceci, il suffit de faire : | Pour ceci, il suffit de faire : | ||
Ligne 814: | Ligne 805: | ||
[[http://abs.traduc.org/abs-5.3-fr/apm.html|Guide avancé d'écriture des scripts Bash - Une exploration en profondeur de l'art de la programmation shell]] | [[http://abs.traduc.org/abs-5.3-fr/apm.html|Guide avancé d'écriture des scripts Bash - Une exploration en profondeur de l'art de la programmation shell]] | ||
- | Aux structures décrites ci-dessus, il est nécessaire, pour réaliser des scripts poussés, de connaître les commandes shell les plus usitées.\\ Vous en trouverez une présentation sur cette autre page du wiki : [[projets:ecole:scripting:initiation_au_shell]] | + | Aux structures décrites ci-dessus, il est nécessaire, pour réaliser des scripts poussés, de connaître les commandes shell les plus usitées.\\ Vous en trouverez une présentation sur cette autre page du wiki : [[projets:ecole:scripting:initiation_au_shell]] . |
La programmation de script shell étant ouverte à tous, cela permet de bénéficier de nombreux scripts pour des applications très variées ; cependant, **la plupart sont proposés sans aucune garantie**.\\ | La programmation de script shell étant ouverte à tous, cela permet de bénéficier de nombreux scripts pour des applications très variées ; cependant, **la plupart sont proposés sans aucune garantie**.\\ | ||
- | Vous pourrez trouver une liste de scripts pouvant servir d'exemple sur la page [[:scripts_utiles|scripts utiles]] du wiki. | + | Vous pourrez trouver une liste de scripts pouvant servir d'exemples sur la page [[:scripts_utiles|scripts utiles]] du wiki. |
Une fois vos armes faites, proposez vos contributions sur le topic du forum [[http://forum.ubuntu-fr.org/viewtopic.php?id=204074|[VOS SCRIPTS UTILES]]] et rajoutez un lien dans la page du wiki ci-dessus. | Une fois vos armes faites, proposez vos contributions sur le topic du forum [[http://forum.ubuntu-fr.org/viewtopic.php?id=204074|[VOS SCRIPTS UTILES]]] et rajoutez un lien dans la page du wiki ci-dessus. |