KSH

De Avided.info
Aller à : navigation, rechercher


KSH

Interpréteur de commande de type UNIX / Linux

Introduction

Il y a plusieurs version de KSH. La version 88 qui date de 1988 et la version ksh93 qui date de 1993. Chaque constructeur d'UNIX a implémenté KSH dans ces 2 versions, il existe quelque différence entre ces KSH, mais elles sont vraiment tres spécifique. Les version de KSH sous Linux ont aussi leurs spécificité. Sur linux on distingue KSH88 de KSH93 par le nom du package. pdksh = ksh88 ksh = ksh93. De nos jours ksh 93 est celle la plus répandu, mais il est possible de rencontrer quelques 88. J’essaierais de fournir les différences quand il semblera bon de l'indiquer


Manuelle et documentation

Je commencerais cette formation par la documentation et les manuelles, car vous le verrez par la suite ce sera votre plus grand ami avec google. Commençons par la documentation souvent installer sur le système. Le principale avantage de cette doucmentation, c'est quelle est bien faite et qu'elle est disponible sans acces à internet. Il n'est pas rare même de nos jour de ne pas avoir d'acces à internet ou êtrre restrint a une poigné de site web. De plus vous verez que c'est souvent plus rapide. Plus vous-vous y habituerez, plus vous trouverez cela pratique. Comme il n'est pas possible de retenir toutes les options de toutes les commandes, le manuelle est votre ami.

= man

La commande man est certainement la plus importante. Cette commande vous permet d'exploiter les manuelle installé sur votre systeme.

J'ai l'habitude de dire a des nouveau venu dans le monde Unix/Linux que la 1er commande qu'un novice doit executer et

man man

Et oui il y a un manuel du manuel. Man étant un outils, il propose quelques options bien utiles. notamment

man -k chaine
man -f chaine

Remplacer "chaine" par un mot cle exemple list Si ces commandes ne fonctionne pas, contacter votre administateur pour qu'il execute, selon l'Unix

catman

ou Linux

makewathis

Vous découvrirez entre autre dans ce manuel de man, que les mans:

  • sont dans des catégories,
  • qu'ils sont tous formater de la même manière
  • ce que signifie les différents paragraphes
  • quelle est la typologie dans manuel

Si les manuels sont installé dans plusieurs langue, il est possible de passer d'un langue a l'autre en modifiant une variable d'environnement Les man les plus complet sont quand : LANG=C Les manuels sont en anglais et les plus a jour

Vous pouvez contrôler la valeur de cette variable en exécutant la commande suivante

echo $LANG

Pour avoir les manuels en Français, il faut que la valeur de LANG soit fr ou fr_FR. Si ce n'est pas le cas vous pouvez modifier la valeur en exécutant la commande suivante. LANG=fr En exécutant cet commande vous ne modifiez la valeur de la variable LANG que pour la session en cours. Il sera nécessaire de l’exécute dans chaque nouveau terminal que vous ouvrez. Nous verrons plus loin comment rendre cette modification permanente. Un autre point important sur ce sujet. Si malgré que la valeur de LANG soit fr_FR votre manuel n'est pas en français. C'est que la version du manuel demandé n'est pas installé en Français. En gros la commande man vas contrôler l’existence du manuel demandé dans un 1er temps dans la langue indiqué dans la variable LANG, puis si il ne la trouve pas, vas chercher dans la version original Anglais.

Les manuelles sont souvent plus complet sur Linux, mais attention, la version des outils sous Linux est souvent plus compléte aussi. Il y a les options dite POSIX qui sont les option que normalement tous les Unix ont. Puis les options GNU qui sont spécifique a Linux.

Execution de commande

commande [option1|option2] [paramétré]

Séquentiellement

Equivalent a une commande par ligne. Chaque commande sera executer une fois que la précédente est terminé

commande1 ; commande2 ; commande2 

En paralelle

Le commande sont executé sans attendre que la précedente soit terminé

commande1 & 
commande2 & 
commande3 &

Conditionnelle

La commande2 est executé que si la commande1 c'est terminé correctement. La commande3 sera executé si la commande2 s'execute non correctement On caractérise && par ET et || par OU. Il faut faire attention à la précédence. Pour résoudre les problèmes de précédence on peut utiliser les ()s.

commande1 && ( commande2 || commande3 )