CODES DE RETOUR ET TRAPS

Valeur de retour
  • Chaque commande, pipeline ou groupe de commande renvoie une valeur à son processus parent
  • $? est cette valeur
  • 0 : succès
  • différent de 0 : erreur
  • La commande exit permet le renvoie d'une erreur
  • Pour un pipeline ou un groupe, $? contient la valeur de retour de la dernière commande exécutée.
Exécution conditionnelle
  • cmd1 && cmd2
  • Si cmd1 réussie alors exécute cmd2
  • cmd1 || cmd2
  • Si cmd1 échoue, exécute cmd2
Commande test
  • test expression
  • [ expression ]
  • [[ expression ]]
  • On utilisera toujours cette commande qui offre plus de possibilités (elle est spécifique à ksh)
  • Renvoie 0 si l'expression est vraie
Expressions composées
  • expr1 && expr2
  • vraie si expr1 et expr2 sont vraies
  • e1 || e2
  • vraie si e1 ou e2 sont vraies
  • !e1
  • vraie si e1 est faux
  • ( )
  • groupe d'expressions
Opérateurs de test sur un fichier
  • Opérateur : vraie, si le fichier
  • -a fichier : existe
  • -d fichier : est un répertoire
  • -r fichier : est lisible
  • -w fichier : est modifiable
  • -x fichier : est executable
  • -L fichier : est un lien
Opérateurs numériques
  • Opérateur : vraie, si
  • e1 -eq e2 : e1=e2
  • -ne : different
  • -lt : inferieur a
  • -gt : superieur a
  • -le : inferieur ou egale a
  • -ge : superieur ou egale
Opérateurs sur les chaines
  • -n str : str a une longueur non nulle
  • -z str : str a une longueur nulle
  • str1 = str2 les 2 chaînes sont égales
  • str1 != str2 les 2 chaînes sont différentes
Les tests spécifiques à ksh
  • file1 –ef file2 file 1 et file 2 représente le même fichier
  • f1 -nt f2 f1 est plus récent que f2
  • f1 -ot f2 f1 est plus ancien sur f2
Les tests spécifiques à ksh
  • str=pattern str correspond à l'expression régulière
  • str!=pattern str ne correpond pas à l'expression régulière
  • s1 s1>s2 s1 est après s2 dans la table ASCII
Les signaux
  • Les signaux sont envoyés par le système au processus pendant son exécution
  • La commande kill permet d'envoyer un signal à un processus
Les principaux signaux
  • 0 EXIT à la fin d'un process
  • 1 HUP pour logger une information
  • 2 INT interrupt reçu (Ctrl-C)
  • 3 QUIT Ctrl-
  • 9 KILL tue le process (ne peut pas être intercepté)
  • 17 STOP Stoppe le process
  • 19 CONT continue s'il a été stoppé
Trap
  • La commande trap spécifie les différentes actions que vous souhaitez faire à la réception d'un signal
  • exemple : trap 'rm /tmp/$$;exit2' INT QUIT


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 ...)