Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:script_shell [Le 12/06/2018, 17:48]
L'Africain [Écrire un script]
tutoriel:script_shell [Le 18/02/2019, 00:51] (Version actuelle)
46.193.65.102 [Écrire un script]
Ligne 7: Ligne 7:
 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 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. ​
  
-===== Écrire un script ​=====+#​!/​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
  
-Si vous voulez écrire un script, vous avez deux possibilités : +# Make a copy of the file 
-  * soit vous tapez dans un shell toutes les commandes +cp $1 $2
-  * ou alors vous rassemblez toutes les instructions copiées,+
  
-À titre d'​exemple,​ saisissez ces quelques lignes dans votre éditeur préféré :+# Get the number of frames 
 +numframes=`gifsicle $1 -I | grep -P "\d+ images"​ --only-matching | grep -P "​\d+"​ --only-matching`
  
-<​code>​ +Deletion 
-#!/​bin/​bash +let i=0 
-# Indique au système que l'​argument qui suit est le programme utilisé pour exécuter ce fichier +while [[ $i -lt $numframes ​ ]]; do 
-# En règle générale, les "#"​ servent à mettre en commentaire le texte qui suit comme ici +    ​rem=$(( $i % 2 ))
-echo Mon premier script +
-echo Liste des fichiers : +
-ls -la +
-</​code>​+
  
-Le résultat de ce script est d'​écrire à l'​écran « Mon premier script », puis +    if [ $rem -eq 0 ] 
-en dessous « Liste des fichiers :​ »,​ et enfin la liste des fichiers avec la +    then 
-commande ''​`ls ​-la`''​. ​+        ​gifsicle $2 --delete "#"​$(($i/​2)) -o $2  
 +    fi
  
-Comme vous l'avez compris, la commande [[http://​www.linuxpedia.fr/​doku.php/​commande/​echo|echo]] sert à écrire +    let i=i+1  
-quelque chose à l'écran.+done 
 +=====Pour faire qu'un script soit éxécutable =====
  
-<note warning>​Cependant il vous faudra faire extrêmement attention à tous ces morceaux de code. Leur utilisation sans connaissance de votre part pourrait vous faire perdre de précieuses données. 
-exemple: surtout ne pas lancer cette commande rm -Rf /* qui supprime TOUS vos fichiers !!!! 
-</​note>​ 
- 
- 
-=====Pour exécuter un script ===== 
-il faut le rendre éxécutable : 
 ==== Méthode graphique ==== ==== Méthode graphique ====
  
Ligne 55: Ligne 49:
   - Remplacez le contenu du champs //Terminal emulator// par le contenu du champs //​Commande//​ que vous avez pris soin de noter à la première étape.   - Remplacez le contenu du champs //Terminal emulator// par le contenu du champs //​Commande//​ que vous avez pris soin de noter à la première étape.
   - Vous pouvez ensuite suivre la méthode graphique indiquée ci-dessus pour exécuter vos scripts shell.   - Vous pouvez ensuite suivre la méthode graphique indiquée ci-dessus pour exécuter vos scripts shell.
-  - Pour Ubuntu 17.10, il faut en plus installer les paquets nautilus-open-terminal et nautilus-scripts-manager pour pouvoir lancer un script depuis Nautilus+
 ==== Méthode dans un terminal ==== ==== Méthode dans un terminal ====
  
Ligne 65: Ligne 59:
 Puis vous pouvez exécuter le script en faisant : <​code>​./​nom_du_script</​code>​ Puis vous pouvez exécuter le script en faisant : <​code>​./​nom_du_script</​code>​
 mais pourquoi le ./ ? mais pourquoi le ./ ?
-=== le /. ===+=== Le chemin ​.===
  
 Il peut être intéressant d'​ajouter un répertoire au "​PATH"​ pour pouvoir exécuter ses scripts sans avoir à se placer dans le bon dossier. Il peut être intéressant d'​ajouter un répertoire au "​PATH"​ pour pouvoir exécuter ses scripts sans avoir à se placer dans le bon dossier.
  • tutoriel/script_shell.1528818513.txt.gz
  • Dernière modification: Le 12/06/2018, 17:48
  • par L'Africain