CONCEPTS DE BASE

Qu'est-ce qu'un script Shell ?
  • Un fichier texte lisible
  • Editable avec un éditeur de texte
  • Tout ce que vous pouvez faire à la ligne de commande
  • Un programme contient :
    • des commandes systèmes
    • des affectations de variable
    • des commandes shell
    • des instructions de contrôle
    • des commentaires !!
    • #!/bin/ksh
Lancer un script
  • $. shell_script
  • $ksh shell_script
  • $shell_script
  • $exec shell script
L'environnement
  • Quand le Korn shell est invoqué au login, il exécute :
  • A chaque nouveau shell, s'exécute ensuite le fichier ENV
Caractères spéciaux 1/2
  • Les caractères spéciaux forment des expressions génériques qui, une fois étendues, correspondent à plusieurs fichiers du répertoire de travail
  • Le shell interprète les caractères spéciaux avant d'exécuter la commande
  • Il y a plusieurs caractères spéciaux
  • Ils peuvent être utilisés simultanément
  • Ils peuvent être inhibés par l'option noglob
Caractères spéciaux 2/2
  • * Tous les caractères
  • ? Un seul caractère
  • [abc] un caractère de la liste
  • [a-z] un caractère de l'intervalle
  • [!az] Tous sauf les caractères cités
Expressions génériques multiples
  • *(EG1|EG...) 0 ou plusieurs fois
  • ? (EG1|EG...) 0 ou 1 fois
  • +(EG1|EG...) 1 ou plusieurs fois
  • @(EG1|EG...) exactement 1
  • ! (EG1|EG...) tout sauf
Quotes
  • "double quotes" groupe de caractères
  • 'simple quotes' groupe les caractères et garde la signification des caractères spéciaux
  • \charactere supprime la signification particulière du caractère
Entrée/Sortie
  • Chaque processus a une table de description de fichiers associés
  • Default0Standard Inclavier
    1Standard Outecran
    2Standard Errecran
    Libre3
    .
    .
    9
Redirection en entrée
  • Command < Fichier
  • Redirige l'entrée à partir du contenu du fichier
Redirection en sortie
  • Redirige la sortie dans le fichier
  • command > fichier
  • Redirige la sortie à la fin du fichier
  • command >> fichier
Entrée locale
  • L'entrée est faite à partir de la ligne de commande
  • commande << FIN text . . . text FIN
Association
  • Les descriptions de fichier peuvent être asscoié
  • commande > fichier 2>&1
Définir les descriptions de fichier
  • On utilise la commande exec pour ouvrir, associer ou fermer un descripteur
  • $exec n> fichier ouvrir le descripteur en sortie vers le fichier
  • $exec n< fichier ouvrir le descripteur en entrée à partir de fichier
  • $exec m>&n associe m et n
  • $exec n>&- ferme n
Pipes
  • cmd1 | cmd2 | cmd3
Tee
  • $ls | tee fichier
Groupement de commandes
  • Exécution dans un sous-shell
  • (cmd1;cmd2)
  • Exécution dans le shell courant
  • {cmd1;cmd2}
Tâches de fond
  • Exécuter une commande en tâche de fond
  • Commande &
Contrôle des jobs
  • Le korn shell assigne des numéros à chaque job
  • Jobs : Liste des jobs
  • ctrl-z : Suspend le job en cours
  • bg : Lance le job suspendu en tâche de fond
  • fg : Lance le job suspendu en avant plan (ou un job en tâche de fond )
  • kill : Stop un job
  • kill et bg acceptent les arguments suivants :
    • pid processus id
    • %job_id job id
    • %% id courant
    • %+ id courant
    • %- id précédent
    • %commande correspond au nom de la commande
    • %?string string contenu dans la ligne de commande
Edition de la ligne de commande
  • Deux modes d'édition disponible :
  • vi : set -o vi
  • emacs : set -o emacs
  • ex emacs :
    • Ctrl-D suppression
    • Ctrl-F en avant
    • Ctrl-B en arrière
    • Ctrl-E fin de la ligne
    • Ctrl-A début de la ligne
    • Ctrl-P commande précédent (rappel de la commande)
    • Ctrl-N commande suivante


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