Bonjour Mesieurs!
Débutant sur cygwin j'aurai grandement besoin de votre aide. J'essaye de d'executer dans mon .sh la commande suivante :
cat $DS_EXPORT/UpdateCVS.$DS_HOST.*.JOBS | sort -u
le problème c'est que le caractère * est mal considéré. Moi je voudrai l'utiliser pour selectionner tous les fichiers. Hors ici l'étoile semble étre pris pour un caractère non spécial du coup je me retrouve avec un fichier introuvable.
Merci d'avance pour votre aide.
# ça devrait pourtant fonctionner...
Posté par goeb . Évalué à 1.
Ça devrait pourtant fonctionner, car ta commande me paraît correcte.
Fait ceci pour débogguer :
et dis-nous le résultat.
Autre piste pour faire apparaître d'éventuels caractères fantaisistes provoqués par un shift-espace malencontreux :
[^] # Re: ça devrait pourtant fonctionner...
Posté par BAud (site web personnel) . Évalué à 2.
et sinon, encadrer la variable
# je comprends pas ...
Posté par papaolele . Évalué à 1.
D'après ce que je vois avec les lignes de débug ajoutées : le caractère * semble ne pas selectionner mes fichier. Il semble que le script cherche un fichier avec * dedans et forcément ils n'existent pas…
Le fait d'encadrer mes variables n'y change rien. Je pense que c'est un problème lié directement à cygwin, n'y a t'il rien à rajouté dans la variable d'environement pour que cigwin interprète le * ?
Merci pour votre aide.
[^] # Re: je comprends pas ...
Posté par goeb . Évalué à 1.
Je ne pense pas que cygwin y soit pour quelque chose.
Si le
*
n'est pas remplacé, ça veut dire qu'aucun fichier ne correspond au motif recherché.Dans mon terminal, si je fais :
On voit bien que dans le premier cat, le
*
detototo*
n'est pas remplacé.Et la deuxième fois, le
*
est remplacé parce que la recherche par le motif a trouvé un fichier.Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.