
Envoyé par
corentink
Mon probleme est le suivant : lorsqu' on lance un programme ou commande entre quotes (``) le programme ou commande est execute mais rien n' est affiche sur le terminal.
Tu fais erreur sur 2 points
1) ce ne sont pas des quotes mais des backquotes
2) le rôle de ces backquotes est de remplacer le code exécuté par ce qui est affiché par ledit code
Exemple: tu lances le programme "date" de façon standard
=> ça t'affiche une chaîne ressemblant à ceci : "thu jan 01 22:05:17 CET 2008"
Maintenant tu mets cet ordre entre backquotes. Bien sûr il faut avoir un but pour récupérer ce que l'ordre affiche (par exemple le mettre dans une variable) donc tu écris
=> ça t'exécute dans un sous-shell l'ordre "date" et tout ce que cet ordre affiche est replacé dans le contexte où t'as placé les backquotes. Donc c'est comme si t'avais écrit
var=thu jan 01 22:05:17 CET 2008
Donc si tu lances un programme entre backquotes tel que tu le fais alors
1) rien ne sera évidemment affiché sur le terminal puisque ce que le programme affiche est sensé être récupéré par toi dans un but plus grand
2) il est probable que t'auras un message d'erreur car le shell traitera ce que ton programme affiche dans son contexte or le premier mot d'une ligne doit être un ordre shell valide. Et il est peu probable que ce que ton programme affiche soit un ordre shell valide. Exemple
Le shell replace la chaîne "thu jan 01 22:05:17 CET 2008" à l'endroit où il y a les backquotes puis exécute le résultat. Il tente donc d'exécuter
thu jan 01 22:05:17 CET 2008
Comme la commande "thu" n'existe pas, il t'écrira "thu: no such file or directory"
Mis à part ce point particulier qui méritait d'être rectifié, je pige rien à ce que tu veux faire. Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément.
Partager