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 :
- # lecture du fichier input avec frequence
- if [ "$PARAM" = "" ] ; then
- cat $FICIN | grep ^$1 | while read ligne
- do
- # syntaxe = freq:nom:commande
- CDE=`echo $ligne | awk 'BEGIN { FS=":" } { print $3 }'`
- $CDE
- 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
J'ai donc tenté une autre approche (pas très propre certes) :
Code :
- if [ "$PARAM" = "" ] ; then
- cat $FICIN | grep ^$1 | while read ligne
- do
- # syntaxe = freq:nom:commande
- echo $ligne | awk 'BEGIN { FS=":" } { print $3 }' > .todo
- chmod +x .todo && ./.todo
- 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 ...