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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [ksh] Recuperer une variable avec un \ dedans

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ksh] Recuperer une variable avec un \ dedans

n°983992
zoidberg
Gloire au crapaud Hypno!!
Posté le 26-11-2007 à 10:25:28  profilanswer
 

Bonjour,
J'aurai besoin dans un script ksh d'aller lire des chemins windows (oui je sais c'est mal :D ), donc ces chemins contiennent des \ et ca me pose probleme:
quand je recupere la variable tout va bien, par contre des que je veux l'afficher ou l'ecrire dans un fichier ca me donne n'importe quoi si apres l'backslash j'ai un c ou un b ou un a ou autre caractere qui fait qu'avec l'backslash ca me fait un caractere de controle particulier.
Donc ma question, comment pourrais-je faire pour traiter de telles variables:
par exemple si je fais toto="\new" y a t-il un moyen de recuperer '\new' au lieu d'un retour a la ligne et puis 'ew', c'est a dire que le retour ne soit pas interprete (sans aller jusqu'a faire un toto="\\\\new", c'est un fichier qui est utilise par d'autres applis)? (j'ai rien trouve du cote de typeset, et je sais pas trop vers ou chercher, c'est la premiere fois que j'ai ce genre de truc a faire)
Merci,
Max

mood
Publicité
Posté le 26-11-2007 à 10:25:28  profilanswer
 

n°984006
Taz
bisounours-codeur
Posté le 26-11-2007 à 11:07:10  profilanswer
 

non. Si t'écris \n c'est \n.
Il n'y aucun moyen sinon de deviner \n vaut un coup vraiment \n et l'autre \\n

n°984017
zoidberg
Gloire au crapaud Hypno!!
Posté le 26-11-2007 à 11:30:36  profilanswer
 

C'est ce que je pense aussi, mais je tente au cas ou, j'ai regarde du cote de typeset voir si on pouvait pas mettre un attribut particulier sur la variable pour qu'il ne l'interprete pas, mais j'ai rien trouve...
pourtant il y a bien des applis capables de lire des fichiers avec des \ dedans, comment ils font (caractere par caractere peut-etre?)?

n°984023
Taz
bisounours-codeur
Posté le 26-11-2007 à 11:36:00  profilanswer
 

nan mais c'est pas possible
\n c'est interprété quand tu le saisis et ça donne le caractère new line. Les applications elles n'interprètent rien : elle vois '\n' c'est '\n' et pas '\' + 'n'

n°994843
p-seeker23
Posté le 25-12-2007 à 19:15:02  profilanswer
 

Si si, c'est tout à fait possible avec ksh: il suffit de désactiver l'interprétation shell: toto='\new$var'
$toto vaudra exactement la chaîne de caractères "\new$var" (avec les \n et $var non interprétés)

n°995062
zoidberg
Gloire au crapaud Hypno!!
Posté le 26-12-2007 à 14:05:27  profilanswer
 

Oki merci, j'ai procede autrement, mais des que je rentre de conges je teste le chose...
++


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

  [ksh] Recuperer une variable avec un \ dedans

 

Sujets relatifs
Je cherche un nom de variable !lire un fichier CDR ou AI sous Linux ? comment récupérer les couches ?
Recuperer un nombre de fichier dans un repertoire[ Résolu ] Récupérer le code de sortie d'un programme
shell, tester le contenu d'une variableexpression reguliere, awk et variable
recuperer des données linux sur un disque dur externe[snmp/cacti] type de variable renvoyé par une oid
script zsh avec utilisation de awk, passage de variablerécupérer carnet d'adresses sous thunderbird
Plus de sujets relatifs à : [ksh] Recuperer une variable avec un \ dedans


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