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 Les deux révisions suivantes | ||
tutoriel:script_shell [Le 03/09/2021, 11:30] 86.67.86.155 [Introduction aux scripts shell] |
tutoriel:script_shell [Le 03/09/2021, 12:30] 86.215.34.61 ancienne révision (Le 26/08/2021, 18:42) restaurée |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
--- | --- | ||
- | #useradd | + | ====== Introduction aux scripts shell ====== |
- | g: scolaire | + | |
- | m:pédagogie | + | 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. |
- | + | <code bash> | |
- | ls | + | #!/bin/bash |
- | lp | + | # This script will take an animated GIF and delete every other frame |
- | option u1010 | + | # Accepts two parameters: input file and output file |
+ | # Usage: ./<scriptfilename> input.gif output.gif | ||
+ | |||
+ | # Make a copy of the file | ||
+ | cp "$1" "$2" | ||
+ | |||
+ | # Get the number of frames | ||
+ | numframes=$(gifsicle --info "$1" \ | ||
+ | | grep --perl-regexp --only-matching '\d+ images' \ | ||
+ | | grep --perl-regexp --only-matching '\d+') | ||
+ | |||
+ | # Deletion | ||
+ | let i=0 | ||
+ | while test $i -lt $numframes | ||
+ | do | ||
+ | rem=$(( $i % 2 )) | ||
+ | |||
+ | if test $rem -eq 0 | ||
+ | then | ||
+ | gifsicle "$2" --delete "#"$(($i/2)) -o "$2" | ||
+ | fi | ||
+ | |||
+ | let i=i+1 | ||
+ | done | ||
+ | </code> | ||
=====Pour faire qu'un script soit exécutable ===== | =====Pour faire qu'un script soit exécutable ===== | ||