Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/01/2008, à 12:16

mc_cut_killer

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

Bonjour à tous  smile 

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 :

   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 ...

#2 Le 24/01/2008, à 12:36

toufalk

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

T'as essayé ça ??

7.    eval $CDE

Hors ligne

#3 Le 24/01/2008, à 12:55

mc_cut_killer

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

Oui c'est ce que je fais maintenant smile

Par contre je me retrouve avec la même erreur que pour le deuxième cas :
top: failed tty get

#4 Le 24/01/2008, à 13:10

mc_cut_killer

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

C'est bon résolu big_smile

Merci à  Elmoricq, pour ceux que ca intéresse il faut ajouter le paramètre -b au top  ...

#5 Le 24/01/2008, à 13:21

tuxce

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

pour le fichier todo, c'est parce que top a besoin d'un terminal (ou en tout cas, qu'il pense qu'il y a un terminal) pour se lancer
pour ce qui est d'eval, il suffit d'entourer la variable avec ":

eval "$CDE"

Hors ligne