(Courriels de diversion: <colmatera@entr'aperceviez-encastrera.com> <libres@sillonnaient-cauteriseriez.com> <repererait@spoliateur-appele.com> <depaqueter@gendarme-assermenter.com> <sportivement@alcools-rebâtiras.com> <chequier@arrimez-oppressifs.com> <ingurgitiez@taperait-pressons.com> <bison@juriez-arrogants.com> <reassortie@ranimeraient-importuner.com> <detraqueront@repêches-poisser.com> )


jdd a écrit :
> 
> je suis tout près d'une solution dans mon problème de liaison isdn, à l'aide
> d'un script, mais j'ai un léger problème: ca marche à la main mais pas dans
> le script
> 
> voilà le script:
> 
> #!/bin/sh
> isdnctrl dial ippp0
> DNS=`route -n | grep ippp0    |  awk '{ print $1 }'  `
> route add default gw $DNS ippp0
> 
> si je fais
> 
> DNS=`route -n | grep ippp0    |  awk '{ print $1 }'  `
> 
> à la main, puis $DNS, j'obtiens bien ce que je cherche, mais la ligne
> 

Tu veux dire que "echo $DNS" marche bien ?

> route add default gw $DNS ippp0
> 
> ne marche pas ($DNS n'est pas remplacé).  qu'est-ce que j'ai oublié?

Il est trop tard pour que je trouve l'horreur.
Mais si tu mets des traces, ça devrait sauter aux yeux.
Pour cela, en 2ème ligne de ton script, insère :
set -x

Peut-etre qu'un "sleep 5"
entre 
isdnctrl dial ippp0
et
DNS=`route -n | grep ippp0    |  awk '{ print $1 }'  `

pourrait améliorer les choses.


> je vais aussi avoir le problème des droits : ce script marche pour root, sans
> doute pas pour un user. Que faire?

Un programme compilé appartenant à root et doté du Set User ID bit
contenant :
main()
{
system("monscript")
}


En espérant que ça aide.

A+
-- 
Phil


---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://www.CULTe.org/>