Bash écriture dans un fichier
Résolu
freeman43
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
freeman43 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
freeman43 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Bash écriture dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
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
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
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.
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.
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
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
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.
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.