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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  shell : ne pas interpreter le $ comme une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

shell : ne pas interpreter le $ comme une variable

n°1241595
cyberP@cal
Posté le 06-10-2010 à 11:43:06  profilanswer
 

bonjour,
 
J'ai un script à faire qui manipule des logins et password pour se connecter automatiquement à un équipement. Le problème est que mon mot de passe contient un $ , comment faire pour qu'il ne soit pas interprété comme une variable, mais comme un caractère quelconque ?
Je précise que je ne peut pas modifier mon mot de passe.
 
exemple :
 

Code :
  1. #!/usr/bin/expect
  2. ### Script de connexion automatique sur les routeurs ###
  3. ### Affectation du CS comme parametre ###
  4. set routeur [lindex $argv 0]
  5. ### Connexion sur le routeur ###
  6. spawn telnet $routeur
  7. expect {
  8.    "Username:" {
  9.         send "toto\r"
  10.         expect "Password:"
  11.         send "18w$xyz\r"
  12.     }
  13. }
  14. # expect "#"
  15. # send "sh diag 1\r"
  16. # expect "#"
  17. interact
  18. # exit


 
merci

mood
Publicité
Posté le 06-10-2010 à 11:43:06  profilanswer
 

n°1241597
Tsomi
From station to station
Posté le 06-10-2010 à 12:05:22  profilanswer
 

Hello,
 
Je crois qu'il suffit de l'échapper, non ?
 
$ devenant \$

n°1241598
cyberP@cal
Posté le 06-10-2010 à 12:07:49  profilanswer
 

Tsomi a écrit :

Hello,
 
Je crois qu'il suffit de l'échapper, non ?
 
$ devenant \$


 
exacte merci

n°1241599
o'gure
Modérateur
Multi grognon de B_L
Posté le 06-10-2010 à 12:19:37  profilanswer
 

Coller les mots de passe en clair dans les scripts c'est le mal [:neriki]


---------------
Relax. Take a deep breath !
n°1241611
cyberP@cal
Posté le 06-10-2010 à 13:12:18  profilanswer
 

o'gure a écrit :

Coller les mots de passe en clair dans les scripts c'est le mal [:neriki]


 
on s'en fou c'est dans mon /home

n°1241615
o'gure
Modérateur
Multi grognon de B_L
Posté le 06-10-2010 à 13:18:58  profilanswer
 

cyberP@cal a écrit :

on s'en fou c'est dans mon /home


Je ne vois pas en quoi c'est un argument.


---------------
Relax. Take a deep breath !
n°1241775
fighting_f​alcon
Posté le 06-10-2010 à 23:02:12  profilanswer
 

échapper est une solution, sinon tu remplaces :

Code :
  1. send "18w$xyz\r"


par :

Code :
  1. send '18w$xyz'"\r"


 
bon c'est un peu relou à cause du retour chariot, mais c'est pour montrer l'intérêt des simples quotes par rapport aux doubles
Comme en PHP : double quote, l'intérieur est interprété, simple quote non
 
 
 
edit : et sinon, o'gure + 10000


Message édité par fighting_falcon le 06-10-2010 à 23:02:35
n°1241824
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 07-10-2010 à 10:06:19  profilanswer
 

o'gure a écrit :

Coller les mots de passe en clair dans les scripts c'est le mal [:neriki]


 
tellement vrai :o
 
et puis expect... en 2010 [:sadnoir] [:sadnoir] [:sadnoir] [:sadnoir]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1241849
art_dupond
je suis neuneu... oui oui !!
Posté le 07-10-2010 à 11:41:16  profilanswer
 

black_lord a écrit :


 
tellement vrai :o
 
et puis expect... en 2010 [:sadnoir] [:sadnoir] [:sadnoir] [:sadnoir]


comment on fait en 2010 ? :)


---------------
oui oui
n°1241875
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 07-10-2010 à 13:42:10  profilanswer
 

art_dupond a écrit :


comment on fait en 2010 ? :)


 
on utilise des vraies libs qui encapsulent tout ça ?
 
Quelques liens au hasard


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
mood
Publicité
Posté le 07-10-2010 à 13:42:10  profilanswer
 

n°1241897
art_dupond
je suis neuneu... oui oui !!
Posté le 07-10-2010 à 14:21:14  profilanswer
 

ben je ne sais pas justement, c'est pour ça que je pose la question :)
 
 
merci :jap:


---------------
oui oui

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

  shell : ne pas interpreter le $ comme une variable

 

Sujets relatifs
Script shell ftpComment fixer une variable shell pour tout le monde
Décalration de variabletransmission de variables entre 2 SH
script shell bashscript shell pour suppression anciennes sauvegardes
Débuter programmation shell[SHELL] Rediriger le résultat d'une commande vers une variable ?
Plus de sujets relatifs à : shell : ne pas interpreter le $ comme une variable


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