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:40] BugFollower [Exemples et exercices] |
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 : |