Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2326 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Script Shell] Problème pour exécuter des commandes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Script Shell] Problème pour exécuter des commandes

n°1676081
mc_cut_kil​ler
Posté le 24-01-2008 à 11:11:51  profilanswer
 

Bonjour à tous  :)  
 
Je suis confronté à deux types de problèmes, mon but est de créer un script qui soit capable de lire un fichier qui contient des commandes.
 
Voici la portion de code qui me pause problème :

Code :
  1. # lecture du fichier input avec frequence
  2. if [ "$PARAM" = "" ] ; then
  3.    cat $FICIN | grep ^$1 | while read ligne
  4.    do
  5.    # syntaxe = freq:nom:commande
  6.    CDE=`echo $ligne | awk 'BEGIN { FS=":" } { print $3 }'`
  7.    $CDE
  8.    done


 
Si je fais un echo $CDE -> top -d 5 -n 3 | grep Xorg >> tmpXorg
Ca me revoie donc bien la bonne commande, par contre impossible de l'exécuter avec les pipes ! Alors qu'un copier / coller fonctionne  :pt1cable:  
 
J'ai donc tenté une autre approche (pas très propre certes) :

Code :
  1. if [ "$PARAM" = "" ] ; then
  2.    cat $FICIN | grep ^$1 | while read ligne
  3.    do
  4.    # syntaxe = freq:nom:commande
  5.    echo $ligne | awk 'BEGIN { FS=":" } { print $3 }' > .todo
  6.    chmod +x .todo && ./.todo
  7.    done


 
Cette fois la commande me revoie : top: failed tty get
Par contre si je lance le fichier .todo dans un shell ca marche, et si je créé un autre fichier qui le lance ca marche aussi.
 
J'aurais aimez savoir si quelqu'un à déjà été confronté à ce genre de problème, il est clair que la première solution à l'air mieux mais je peut aussi utiliser la seconde ou même une autre ...

mood
Publicité
Posté le 24-01-2008 à 11:11:51  profilanswer
 

n°1676092
Elmoricq
Modérateur
Posté le 24-01-2008 à 11:26:21  profilanswer
 

essaie avec "eval $CDE"

n°1676122
mc_cut_kil​ler
Posté le 24-01-2008 à 11:53:40  profilanswer
 

Merci pour la réponse :-)
 
Malheureusement j'ai déjà essayé, ca à l'air de mieux marcher mais je me retrouve dans le deuxième cas avec :
top: failed tty get
 

n°1676130
Elmoricq
Modérateur
Posté le 24-01-2008 à 12:04:21  profilanswer
 

Essaie en ajoutant le paramètre "-b" à top, pour le faire passer en batch mode.
 

Spoiler :

http://forum.ubuntu-fr.org/viewtopic.php?pid=1485931
J'ai répondu avec 10min d'avance. [:jar jar]


 

n°1676132
mc_cut_kil​ler
Posté le 24-01-2008 à 12:08:58  profilanswer
 

Ouais, vive le double post :( promis je le referais plus lol
 
En tout cas merci !!! ca a marché ...

n°1676188
Elmoricq
Modérateur
Posté le 24-01-2008 à 13:36:19  profilanswer
 

C'est pas un double post, j'suis juste tombé dessus avec google en cherchant ton erreur. [:god]
 
J'le connaissais même pas ce forum avant. [:cosmoschtroumpf]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Script Shell] Problème pour exécuter des commandes

 

Sujets relatifs
[FPDF] Probléme affichage PDF sous IELancer un vbs par script de connexion
Player mp3 en flash problème help !Probleme de malloc sur un tableau de pointeur.
Problème d'affichage des caractèresun problème avec les sockets :(
[Résolu]Problème avec un menu défilant[SHELL]Utilisation du resultat de ma commande GREP pour un nul [CLOS]
[PHP] conditions multiples dans un switch - problème de design patternProblème d'utilisation des objets définis par l'utilisateur
Plus de sujets relatifs à : [Script Shell] Problème pour exécuter des commandes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR