Posez votre question Signaler

Fonction system("cmd")

DRSBMM - Dernière réponse le 30 nov. 2008 à 13:17
Bonjour,
je suis maint entrain de faire un exercice qui nous demande de :
Écrire un programme shell recevant quatre paramètres dont le premier correspond au
nom d'un utilisateur du système et les trois autres correspondent aux noms de trois fichiers f1, f2 et
f3.
Le programme shell fait appel à une fonction C correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc
le probléme est le suivant :
j'ai utiliser la fonct system("cat argv[1] argv[2] arg[3] | pr | wc -lc")
mais il maffiche un message qui dit que:les fichiers argv[1] argv[2] arg[3] sont inatrouvable ????????
est merci d'avance
Lire la suite 

Fonction system("cmd") »

6 réponses
Réponse
+0
moins plus
Salut !

Normal ! c'est du SHELL !!! pas du C !

En shell, tu doit coder comme si tu était directement en ligne de commande.
Tu n'a pas besoin d'utiliser la fonction SYSTEM ... il suffit d'écrire cat.... sur une ligne !

et pour les arguments, tu ne doits pas utiliser arg[n], mais $1, $2, $3 ... tout simplement !

il y a pleins de cours de shell sur le net :
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP2003/tp03.html

A+

PS : n'oublie pas de commencer ton script par #!/bin/bash et de rendre le script exécutable chmod a+x script
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
Ou en C ca donnerait

system("cat %s %s %s | pr | wc -lc",argv[1], argv[2], argv[3] );

Cdt

Whityzante
Ajouter un commentaire
Réponse
+0
moins plus
je vais essai la derniere proposition merci
DRSBMM - 30 nov. 2008 à 12:38
il n' y a aocune resultat.
vous pouvez m'indiquer comment resoudre cet exercice peut etre je ne l'ai pas bien compris.
Le programme fait appel à une fonction C appelée correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc
Ajouter un commentaire
Réponse
+0
moins plus
C'est vraiment pas clair !

Tu dois coder en C ? ou en shell ??
Ton programme doit retourner une valeur ?

en shell :

#/bin/bash
cat $1 $2 $3 | pr | wc lc

devrai suffire à afficher le résultat ( c'est à dire le nombre de lignes des 3 fichiers passés en paramêtres)
Ajouter un commentaire
Réponse
+0
moins plus
la question est la suivant je ne l'ai pas bien compris:
Écrire un programme shell recevant quatre paramètres dont le premier correspond au
nom d'un utilisateur du système et les trois autres correspondent aux noms de trois fichiers f1, f2 et
f3.
Le programme shell fait appel à une fonction C correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc
est ce que vous pouvez me l'expliquer
Ajouter un commentaire
Ce document intitulé « fonction system("cmd") » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook