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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH] problème de substitution de variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[KSH] problème de substitution de variable

n°339714
KSauzeRK
Posté le 21-03-2003 à 16:02:38  profilanswer
 

Bonjour,  
 
J'ai un problème sur un script shell (ksh) :  
 
pourquoi les lignes :  
 
file_name_pattern=@(nimporte|quoi)*.sh
ls -l $file_name_pattern  
 
ne sort aucun résultat, enfin plus exactement la commande ls dit qu'il n'y aucun fichier correspondant, alors qu'ils existent, d'ailleurs si je fais directement :  
 
ls -l @(nimporte|quoi)*.sh  
 
j'ai bien les résultats voulu...j'imagine que le problème vient de l'interprétation du '@', si le pattern est uniquement *.sh, ca passe...bref je comprends pas, si quelqu'un pouvait m'aider.
 
Merci


Message édité par KSauzeRK le 21-03-2003 à 16:03:20
mood
Publicité
Posté le 21-03-2003 à 16:02:38  profilanswer
 

n°341032
KSauzeRK
Posté le 24-03-2003 à 09:00:39  profilanswer
 

:??:

n°342820
Muchacho
Posté le 25-03-2003 à 17:01:56  profilanswer
 

A quoi correspond ton @(nimporte|quoi) stp ?
Si c'est une expression reguliere, normal que ca marche pas : la commande ls ne sait pas faire d'interpolation... :heink:


Message édité par Muchacho le 25-03-2003 à 17:03:50
n°343390
KSauzeRK
Posté le 26-03-2003 à 09:14:36  profilanswer
 

Nan, c'est pas du regexp, c'est de la susbstitution gérée par le shell qui fait le pattern matching sur les noms de fichiers.  
 
D'ailleurs, quand je fais directement ls @(nimporte|quoi)*.sh, ca fonctionne, c'est le fait de l'affecter à une variable qui pose problème.
 
Sinon pour info, @(nimporte|quoi), ca correspond à "nimporte" ou "quoi"...enfin en ksh en tout cas.

n°346436
vimaster
i love vi editor it's the best
Posté le 28-03-2003 à 13:09:21  profilanswer
 

KSauzeRK a écrit :

Bonjour,  
 
J'ai un problème sur un script shell (ksh) :  
 
pourquoi les lignes :  
 
file_name_pattern=@(nimporte|quoi)*.sh
ls -l $file_name_pattern  
 
ne sort aucun résultat, enfin plus exactement la commande ls dit qu'il n'y aucun fichier correspondant, alors qu'ils existent, d'ailleurs si je fais directement :  
 
ls -l @(nimporte|quoi)*.sh  
 
j'ai bien les résultats voulu...j'imagine que le problème vient de l'interprétation du '@', si le pattern est uniquement *.sh, ca passe...bref je comprends pas, si quelqu'un pouvait m'aider.
 
Merci

je suis sous ksh et si tu fait
ls -l *sh
ca suffit
 
ou ls -l toto*sh
 
toto1.sh
toto2.log
totottt4568.log
etc....
 
ca marcheras
 


---------------
I love vi editor. it's the best one.
n°346475
KSauzeRK
Posté le 28-03-2003 à 13:36:32  profilanswer
 

vimaster a écrit :

je suis sous ksh et si tu fait
ls -l *sh
ca suffit
 
ou ls -l toto*sh
 
toto1.sh
toto2.log
totottt4568.log
etc....
 
ca marcheras


 
euh...je t'avoue que je comprends pas trop là. Il me semble que le '*' correspond à 0 ou n caractères quelconques. Je vois pas trop comment ls -l tot*sh peut sortir toto2.log, j'ai testé ici, ca ne fonctionne pas comme un 'ou'.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH] problème de substitution de variable

 

Sujets relatifs
[DB2/C] probleme de REXX[ORACLE] Requète avec nom de la table en variable ?
MySQL et ODBC..... Gros problème !probleme image de mon site
Probleme avec include ( )[Oracle Forms] Probleme PLSQL
[PHP] probleme avec if else + cookies[MySQL] Problème de conversion INT ------> DATE
Probleme bizarre avec php myadmin[C/C++]Petit problème de malloc
Plus de sujets relatifs à : [KSH] problème de substitution de variable


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