Vous êtes sur la page 1sur 2

Protection des caractères spéciaux Fonctions

"$var1 $var2" fonction_1 ()


( " ) % {
# commandes…
Ce document d’accompagnement du stage '$var1 $var2' }
« Programmation Shell et Langages de Scripts » ( * " " +# !
\$var fonction_1 valeur_1 valeur_2...
rappelle les points principaux à retenir
' $ & "" . "
concernant la programmation pour shells Bourne $1# $2/ "% $#!
' * " " +!
et Korn. local variable
% -
Structures de contrôle return valeur
Évaluation des expressions Boucles " 0 !
variable=valeur while cmd_1 ; do
commandes
done Motifs du shell
, ' & * +! *
tableau[rang]=valeur
until cmd_1 ; do " & ( ' *"1" +#
! ?
${variable} commandes
done " & ' #
" # \* \? \\
${tableau[rang]} , ' & $!
for variable in liste ; do ' *# ?# \#
" # [liste]
${variable-valeur} commandes
done ' l# i# s# t# e
" #
${variable=valeur} , ' " [b-e]
" ! ' b# c# d# e
#
break [^liste]
${variable?valeur}
! " % for# while until! 2 " & '
${#variable} continue
- % !
" # Redirections
${variable#motif} Tests
if cmd_1 ; then commande < fichier
"
cmd_2 #
$ # commande > fichier
${variable%motif} elif cmd_3 ; then
cmd_4 #
" commande >> fichier
$ # else
cmd_5 3 #
${variable##motif} ${variable%%motif}
fi commande 2> fichier
$ $ % ! #
~utilisateur/ $ !
# $ # $ ! commande 2>> fichier
" #
case expression in 3 #
ab{c,d,e}fg
motif_1 ) cmd_1 ;; commande 2>&1
abcfg abdfg abefg & - #
$(commande) motif_2 | motif_3 ) cmd_2 ;;
* ) cmd_3 ;; commande <<- ETIQUETTE
" # lignes à envoyer
$((expression)) esac
# $ # vers l’entrée standard
" " & ' de la commande
! # $ #
$ ! ETIQUETTE
" 0 !
Exécution des commandes test pwd
test condition !
Ligne shebang [ condition ]
#! /bin/sh
export
export variable
% ! , ! 7 ' " &
Pipeline " " & 5 " $ !
commande | commande | commande -eq / -/ env
3 -ne / / "
Liste de pipelines -lt *-le+/ * +-/
pipeline ; pipeline set
-gt *-ge+/ * +-/ set
*$ & +
7 ( 5 % " #
pipeline & pipeline
-n set options
*$ ' +
pipeline && pipeline -z ! "' 5
" ( 5 -a $ %
*$ +
pipeline || pipeline 8# 8# 9# : -u %
*$ + 7 5 -v "" $
Commandes composées -a $ # -x " $
{ liste de pipelines } -b & " % # unset
* " "" + -c & ' # unset variable
( liste de pipelines ) -d # !
* 4 + -f " # getopts
-g % 4;<6 # while getopts "ab:c" variable ; do
-G # case $variable in
Commandes internes essentielles a) echo "opt° –a";;
-h 0"% & #
echo -k % =0 # b) echo "opt° –b, arg. $OPTARG";;
echo arguments -N " ' # c) echo "opt° –c";;
" ! *) echo "opt° invalide"; exit 1;;
-O - #
-n " esac
-p % "" * +# done
-e ' & !
-r 1 #
read -s 4 #
read variables… shift $((OPTIND – 1))
-S = # echo "arguments restants :"
" "
-u % 4><6 # echo "$@"
* 5 % IFS+!
-w 1 # exit 0
6 ' % ) & ! #
-x 1 $ ! 0 ""
% REPLY! , $ !
" 5 ! " *?: '
exec
exec commande -ef / "1" 0 & & /# +# " OPTARG! >
-nt / " "" & / # # " "
" * + !
exec redirections -ot / " " & / " OPTIND!
& & ! 7 5 shift
source -t " shift n
source script cd " "" 5
. script cd repertoire $0 # $n+1 $1# $n+2 $2#
' ! # !
exit cd – #
exit valeur cd $ !
@@AAA!% ! @
" * + 0 !