Programmation linux

yayou Messages postés 1397 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour à tous!
En ce momment je travail sur la programmation unix et je suis tombé sur des instructions comme "if" ,"fi" ou "echo".Le problème c'est que linux et unix sont écrit en C mais je n'ai pas l'impression que l'instruction "fi" et "echo" par exmple fassent partie de la synthaxe du C.De plus, j'ai un ensemble de polycopes intitulés "Programmation Unix" dans lequel il ya justement ces instructions là.Alors, qu'est ce que ce langage? qu'est ce qui le différencie du C? Pourquoi l'a t-on élaboré? et enfin où pourrai-je trouver des cours détaillés sur ce langage? Ce serait vraiment trôp cool que vous me veniez en aide.Merci!
A voir également:

3 réponses

kmf
 
C'est la language pour de scripts de la shell. Il y a d'elements similaires a C m'est tres different. Typiquement on ecrit dans un fichier texte une liste de commandes qu'on veut executer, on rend le fichier executable (avec "chmod +x fichier") et on l'execute (avec /chemin/fichier ou ./fichier si on est dans le bon repertoire). Apres on peut ajouter de choses comme "if .." (avec "fi" pour marquer la fin) ou "for ..." (pour de boucles). En fait c'est une programmation en "commandes".
Par exemple tu as dans un repetoire 3000 fichiers et il te faut ajouter a chaque nom l'extension disons, ".ext", pour donner un exemple.
Pour un ou meme 10 fichiers tu fais a la main, mais pour 3000 tu fais un script comme:
cd /bon_repertoire
for i in * ; do
  mv  $i  $i.ext
done


Un shell-script est directement interprete par la shell. Par contre C doit etre compile (normalement avec gcc). C'est pour un autre type de problemes. Il y a de choses qu'il faut faire en C (gros calculs, algorithmes compliques, driver linux, ...) et d'autres choses qu'il faut faire avec un shell-script (manipulation et gestion de fichiers, demarrage de processus, automatisations der certaines taches, ...).

Pour la doc generale, il y a toujours:
http://www.lea-linux.org/
et:
http://doc.mandrakelinux.com/MandrakeLinux/100/fr/Command-Line.html/

Pour les shell-scripts je connais pas de doc simple, mail il y a les pages man (taper: "man bash"). C'est tres complet mais pas simple. Il faut aussi regarder les exemples sur son propre systeme Linux pour apprendre (par exemple les scripts de demarrage dans /etc/rc.d/init.d/...).
2
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Pour compléter je dirai qu'il explique plusieurs "shells" :
- bsh : le shell bourne (le plus ancien)
- csh : le C-shell - le plus proche du langage C
- ksh : le korn shell un dérivé du shell Bourne avec les avantages du C-shell
- sh : le shell POSIX - dérivé du shell Bourne, le standard des interpréteurs
- rsh : le shell restreint - comme son nom l'indique c'est un shell Bourne mais restreint
- bash : (Bourne Again Shell) le shell par défaut des distributions GNU/Linux
- tcsh : version améliorée du C-shell
- zsh : un condensé de bash, ksh et tcsh
2
kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Non ce sont les langages du shell Unix ou Linux.
Ce sont des langages qui te permettent d'exploiter ton système (un peu comme le faisait MsDos)...
Voir http://www.commentcamarche.net/unix/unix-shell.php3

Ce sont des langages de plus haut niveau que le C et ils sont interprétés et non pas compilés comme le C....

Tu as là un bon gros manuel pour apprendre le bash (en anglais):
http://www.tldp.org/LDP/abs/html/

PS: J'ai encore répondu trop tard :-)
1