Fonction system("cmd")

DRSBMM -  
 DRSBMM -
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
A voir également:

5 réponses

MangaII
 
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
0
whityzante
 
Salut,
Ou en C ca donnerait

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

Cdt

Whityzante
0
DRSBMM
 
je vais essai la derniere proposition merci
0
DRSBMM
 
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
0
MangaII
 
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DRSBMM
 
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
0