Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1746 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [RESOLU] recupere des valeurs dans un fichier a partir d'un script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] recupere des valeurs dans un fichier a partir d'un script

n°911349
clementcad​bury
Posté le 10-05-2007 à 17:32:58  profilanswer
 

Salut a tous,
j'ai un script qui fabrique des regles du firewall en fonction d'ip qui se trouvent dans un autre fichier comme ceci :
 
le bout de script qui nous interesse :
 
cat /etc/rc.d/firewall/serveurs | while read lig; do  
    /sbin/iptables -A CUSTOMFORWARD -s $lig -j ACCEPT;
done
 
et dans le fichier /etc/rc.d/firewall/serveurs :
192.168.1.20
192.168.1.5
 
vous l'avez compris, le script lit ligne par lgne le fichier, et lance la commande avec le contenu de la ligne
 
seulement voila, dans la variable $lig, qui contient donc successivement toutes les lignes, il y a le '\n' de la fin de ligne!
je l'ai vu en faisant un echo de la commande, elle revient a la ligne juste apres l'adresse ip.
 
avez vous une solution? soit pour lire un fichier ligne par ligne autrement, soit pour enlever le '\n' avant de lancer la commande

Message cité 1 fois
Message édité par clementcadbury le 11-05-2007 à 10:49:43
mood
Publicité
Posté le 10-05-2007 à 17:32:58  profilanswer
 

n°911354
neriki
oenologue
Posté le 10-05-2007 à 17:49:35  profilanswer
 

clementcadbury a écrit :


seulement voila, dans la variable $lig, qui contient donc successivement toutes les lignes, il y a le '\n' de la fin de ligne!
je l'ai vu en faisant un echo de la commande, elle revient a la ligne juste apres l'adresse ip.


 
C'est pas normal ça, les \n, les espaces et les tabs doivent être ignorés normalement.  [:noxauror]  (Il faut aussi se méfier d'echo, par défaut, il ajoute un \n à la fin de la chaine passée en paramètre. )  
 
Sinon, tu insère un  

tr \\n " "


entre ton cat et ton while


---------------
C'est pas bon, Neriki, tu recommences à glander, là. :o
n°911538
clementcad​bury
Posté le 11-05-2007 à 10:25:44  profilanswer
 

en fait il s'agit d'une stupide erreur de ma part :
j'ai édité le fichier /etc/rc.d/firewall/serveurs sous windows,
l'éditeur a donc mis un retour chariot windows (\r\n) alors que unix ne prend en compte que le \n,
c'est pourquoi le \r restait ...
désolé  :)

n°911545
_p1c0_
Posté le 11-05-2007 à 10:31:20  profilanswer
 

tu devrais éditer ton sujet et mettre [RESOLU]  :)


---------------
-_- http://www.scienceshopping.com -_-
n°911560
clementcad​bury
Posté le 11-05-2007 à 10:51:46  profilanswer
 

voila c'est fait
 
sinon pour transformer les retours, j'utilise l'excellent notepad++,
dans le menu format, et convertir en format UNIX
et hop tout va bien!
en plus il garde le format d'origine

n°911594
_p1c0_
Posté le 11-05-2007 à 12:02:25  profilanswer
 

dos2unix...


---------------
-_- http://www.scienceshopping.com -_-

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [RESOLU] recupere des valeurs dans un fichier a partir d'un script

 

Sujets relatifs
Adaptateur usb -> serie [résolu]Serveur fichier et exchange sur linux
script d'ouverture de session sous sambaCouper durée constante dans fichier audio
[Résolu]MRTG et crontab : problème d'actualisation de données[résolu] thème et couleur des fenêtres sur mandriva
[resolu] - vmware-player et conneries...[Résolu] Problème de fonts
[resolu] [debian] imap, connection au serveurTaille fichier limitée sous AIX
Plus de sujets relatifs à : [RESOLU] recupere des valeurs dans un fichier a partir d'un script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR