Programmation linux

Fermé
yayou Messages postés 1161 Date d'inscription dimanche 17 octobre 2004 Statut Membre Dernière intervention 14 septembre 2024 - 9 mars 2005 à 16:08
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 9 mars 2005 à 18:51
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

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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
9 mars 2005 à 18:51
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 mars 2005 à 18:41
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