Bonjour,
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Et ça marche.
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail
[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
Merci encore.
Bonjour,
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Et ça marche.
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail
[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
Merci encore.
Bonjour,
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Et ça marche.
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail
[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
Merci encore.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
on peut aussi préférer «cat $CONF.tmp $CONF» suivi du «rm» kivabien si
on peut aussi préférer «cat $CONF.tmp $CONF» suivi du «rm» kivabien si
on peut aussi préférer «cat $CONF.tmp $CONF» suivi du «rm» kivabien si
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.
Bonjour,
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...
Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.
Bonjour,
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...
Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail
[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.
Bonjour,
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...
Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
Merci encore.
De rien.
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.
J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...
Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail
[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
Merci encore.
De rien.
merci, le script de TiChou marche bien sauf que l'option -i de sed est
inconnue sur ma woody.
Il faut utiliser une version suffisement récente de sed pour disposer de
cette option ou bien utiliser perl.J'ai modifié le script à l'aide d'une proposition arrivée sur la liste
debian-user-french de ascii :
cat $CONF | sed -e"s/pasv_address=.*/pasv_address=$IP/" > $CONF
Je ne sais pas qui vous a conseillé ça, mais il devrait arreter de scripter
et surtout de conseiller de telles choses pour ne pas dire des « horreurs ».
:-)
Sans parler du UUOC...Et ça marche.
Coup de bol ! Car ce que vous risquez c'est de perdre tout le contenu de
votre fichier $CONF !
Le pipe '|' a pour effet de lancer les deux commandes 'cat' et 'sed' en même
temps et il redirige la sortie standard (stdout) de la commande 'cat' sur
l'entrée standard (stdin) de la commande 'sed'.
La commande 'cat' ouvre le fichier $CONF, lit son contenu au fur et à mesure
et le renvoie sur sa sortie standard. Seulement au même moment, la commande
'sed' qui renvoie ce qu'elle reçoit sur son entrée standard vers sa sortie
standard, voit sa sortie standard être redirigée par l'intermédiaire du '>'
vers le fichier $CONF dont le contenu d'origine est immédiatement écrasé au
lancement de la commande.
Donc, si le système met un certain temps à lire le fichier $CONF et à le
bufferiser par rapport au temps qu'il met pour écraser le fichier $CONF, on
va alors se retrouver avec un fichier vide ou partiellement vide qui sera
renvoyé par la commande 'cat' et donc au final se retrouver avec un fichier
$CONF vide ou corrompu.
Pour vous en convaincre, je vous invite à faire des essais sur différents
fichiers, des fichiers de différentes tailles, plus ou moins gros, sur des
supports plus ou moins rapide.
Il faut donc toujours passer par un fichier intermédiaire pour éviter de se
retrouver avec un fichier dont son contenu serait vidé :
sed -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
mv $CONF.tmp $CONF
D'autre part, j'ai pas paramétré mon mail mais tt de même l'option "-n"
n'est pas reconnue :
# Envoit mail[ -n "$EMAIL" ] && echo -e "Adresse IP : $IPnRésultat : $RESULT"
|> /usr/bin/mail -s "Mise a jour DynDNS" $EMAIL
C'est-à-dire ? Que voulez vous dire par non reconnue ?
[ -n STRING ] est une commande de test dont la syntaxe est interprétée par
tous les shells récents sans aucun soucis.
Quel est le message d'erreur renvoyé ?
Merci encore.
De rien.