LES VARIABLES

Affectation de variables
  • nom=valeur
  • Attention : il n'y a pas d'espace autour de '='
  • Pour protéger contre un changement :
  • readonly nom=valeur ou typeset -r nom=valeur
Utiliser une variable
  • Pour utiliser une variable, ajouter $ devant son nom :
  • $var1=Auto
  • $print $var1
  • Auto
  • $
  • Utiliser les {} pour bien les délimiter
  • $print ${var1}mobile
  • Automobile
Paramètres positionnels
  • Les paramètres peuvent être passés à un script comme argument de la ligne de commande :
  • $script p1 p2
  • p1 est le premier paramètre, p2 le deuxième
  • Ils sont référencés par : $1 à $9 puis ${10} à ${n}
Shift
  • La commande shift décale les arguments vers la gauche
  • Le paramètre le plus à gauche est perdu
  • Le nombre d'argument diminue donc à chaque fois
  • Shift n : décale de n crans vers la gauche
Set
  • La commande set permet de changer la valeur des paramètres positionnels
  • Elle annule les valeurs précédentes
  • Exemple :
  • print $1 $2 $3
  • set V1 V2
  • print $1 $2 $3
Les paramètres variables
  • Certains paramètres sont automatiquement affectés :
  • $# : nombre de paramètres
  • $0 : les paramètres sont mis dans une liste séparés par des blancs
  • $* : les paramètres sont mis dans une liste séparés par le premier caractères de IFS
  • Avec les doubles quotes les conportements de $@ et $* diffèrent :
  • "$@" : "$1" "$2" "$3"
  • "$*" : "$1 $2 $3"
Les paramètres d'un Shell
  • $0 : nom du shell
  • $$ : process id
  • $! : process id du dernier process lancer en tâche de fond
  • $? : code de retour de la dernière commande
Héritage
  • Lors du lancement d'un sous-shell, les variables ne pourront être utilisées que si elles ont été préalablement exportées.
  • $set : liste des variables
  • $export var : exporte la variable var
  • $export : liste des variables exportées
Variables de ksh
  • SECONDS CDPATH MAILCHECK
  • PATH PS4 ENV
  • HISTFILE PWD MAILMSG
  • RANDOM HOME FCEDIT
  • PS1 SHELL MAILPATH
  • HISTSIZE REPLY FPATH
  • LINENO IFS
  • PS2 TERM
  • OLDPWD TMOUT
  • ERRNO MAIL
  • PS3 EDITOR
  • PPID _
Tableaux
  • Les tableaux n'ont pas besoin d'être déclarés
  • On accède à une valeur avec [n], où n est le numéro de l'élément
  • 0 n peut être le résultat d'une expression
Affectation de valeurs dans un tableau
  • La cellule d'un tableau s'utilise comme une variable standard
  • tab[n]=valeur
  • Pour assigner des valeurs séquentiellement :
  • $set +A tab val1 val2
Référencer l'élément d'un tableau
  • $print ${tab[n]}
  • $print ${tab[*]}
  • $print ${tab[@]}
  • $print tab


Mini annuaire : Cours ksh

Youhp3Youpee est un preprocesseur HTML pour vous simplifier toutes les tâches répétitives dans la création d'un site web. Salemioche.net utilise trés largement ses possibilités
cygwinle compilateur gcc sous windows ainsi que tous les outils unix (awk, grep, sed, bash, ksh ...)