MIEUX PROGRAMMER

INTRODUCTION
  • Les règles classiques de programmation s'applique également au Korn Shell :
  • Bien définir les fonctionnalités,
  • Une conception modulaire à base de fonctions et de programmes séparés,
  • Un environnement adapté,
  • Une convention de nommage,
  • Tester,
  • Avoir du code facilement débogable.
ORGANISATION D'UN SHELL
  • Entête - commentaire
  • Validation des options
  • Test des arguments
  • Initialisation des variables
  • Définition des fonctions
  • Code principal
OPTIMISER UN SHELL
  • réduire $HISTFILE
  • réduire $ENV
  • utiliser autoload
  • utiliser un alias plutôt qu'un fonction
  • utiliser les fonctions du shell en priorité sur les commandes UNIX
  • $(<fichier) plutôt que $(cat fichier)
  • utiliser plusieurs arguments dans une seule commande
CRÉATION D'UNE BIBLIOTHÈQUE DE FONCTION
  • autoload function
  • En mettant plusieurs définitions de fonction dans un même fichier, et en utilisant la commande ln pour donner plusieurs noms à ce fichier, vous pouvez faire l’autoload une librairie de fonctions.
TIME
  • c'est un mot réservé du Ksh
  • n'affecte en rien la ligne de commande
  • le résultat est envoyé sur l'erreur standard
  • $time commande
DÉBOGAGE
  • set -o noexec vérifie la syntaxe
  • set -o verbose affiche les entrées à leur lecture
  • set -o xtrace affiche la commande avant de l’exécuter
  • Le signal DEBUG, après chaque commande peut être intercepté à l’aide de la commande trap.
RÈGLES DE CODAGE D’UNE FONCTION
  • ne pas modifier de variable globale
  • export une fonction seulement si c'est nécessaire
  • ne pas changer le répertoire de travail
  • maîtriser l'utilisation des fichiers temporaires
LE CONTRÔLE DE L’ENVIRONNEMENT
  • $. shell_script
  • sh shell_script
  • $shell_script
  • $(commande) est un sous-shell
  • ${commande} s'exécute dans le shell courant


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