Bash écriture dans un fichier

Résolu
Bonjour,

j'ai un script bash qui doit écrire dans un fichier afin de pouvoir caculer une différence.
Voila mon script:

#!/bin/sh
ref=$(cat /usr/share/cacti/site/scripts/essai.txt)
cacti=`snmpget -v1 $1 -c public $2|cut -f 4 -d " "`
imp=$(($cacti-$ref))
snmpget -v1 $1 -c public $2|cut -f 4 -d " " >/usr/share/cacti/site/scripts/essai.txt
echo "imp:$imp"

or la variable ref et toujours la meme car la commande suivante ne fonctionne pas.

snmpget -v1 $1 -c public $2|cut -f 4 -d " " >/usr/share/cacti/site/scripts/essai.txt

or j' ai essayer la commande suiva,te à la place:

echo "$cacti" >/usr/share/cacti/scripts/essai.txt

et celle-ci ne marche pas non plus.

D'où peut venir le problème.
Merci de bien vouloir m'aider.
Configuration: Windows XP
Firefox 3.0.5

4 réponses

  1. Contributeur
    Salut.
    Je ne caonnais pas toute ces commande, mais je sais qu'il y a une option qui dit que '>' ne peut écraser un fichier déjà existant.
    Pour être sur, fait un rm /usr/share/cacti/site/scripts/essai.txt
    vérifie tes droits d'écriture
    0
    1. le '>' permet de supprimer toutes les données du fichier et d'y écrire les données qui ont était mise avant le >.
      Mes droit en écriture sont bon car j'ai fait un chmod 777 sur mon fichier pour étre certain que sa fonctionne.

      ps: se script s'éxecute via un soft qui appriori n'accepte pas l'écriture dans un fichier via la commande écho. Comment puije écrire dans se fichier quand même.
      0
      1. Contributeur
        l'option, c'est
        set -o noclobber
        chez moi, impossible d'écraser un fichier existant.
        Il faut essayer de comprendre pourquoi ta commande ne fonctionne pas.
        Est-ce que tout les rpéertoires ont un droit en x ?
        Si tu essai en dur d'écrire dans le fichier il dit quoi ?
        echo essai >/usr/share/cacti/site/scripts/essai.txt
        0
        1. je peux écrire ne dur dans mon fichier sans aucun probléme et même la commande echo blabla >/usr/shar/cacti/site/scripts/essai.txt marche.

          Mais lorsque se script et eécuter par l'application celui-ci n'écrit pas dedans.
          Je ne veut pas utiliser la commande set car cela va me definir une variable d environnent or ce script devra par la suite gérer plusieurs équipement réseau.
          0

          Discussions similaires

          question pix mot caché

          7 réponses