Salut,
xav_dev a écrit :
Merci pout ton conseil mais malheureusement ca ne change rien. J'obtiens exactement le même résultat.
Par contre, j'ai continué à chercher et à faire des tests et il semble que le find s'execute dans le "contexte" MSDOS. C'est à dire que lorsque que lance la commande suivante :
Code :
- C:\Documents and Settings\Administrateur>find "/cygdrive/e/rep_recherche" -name fichier.cfg
|
J'obtiens exactement le meme message d'erreur Quelqu'un peut il m'expliquer ce phenomène ??
|
Ton problème ne viendrait-il pas du fait que dans le contexte du bash (lancé depuis le dos) qui execute ton test.sh, la commande find qui est exécutée est en fait l'ignoble find.exe de dos/windows ?
J'ai essayé de reproduire ton pb en ajoutant dans le test.sh un "type find"
Code :
- #!/bin/sh
- type find
- find "/cygdrive/e/rep_recherche" -name fichier.cfg
|
Résultat :
Code :
- find is /cygdrive/e/WINDOWS/system32/find
- FIND : commutateur non valide
|
ce n'est pas tout a fait le même message, mais néanmoins on voit bien que ce n'est pas le find cygwin qui est utilisé
du coup, le fix qui marche chez moi est simplement de faire :
Code :
- #!/bin/sh
- type find
- /usr/bin/find "/cygdrive/e/rep_recherche" -name fichier.cfg
|
La difference de comportement entre lancement depuis dos vs. cygwin est que dans l'env cygwin, le path /usr/bin doit se retrouver avant les paths vers le repertoire windows\system32, du coup tu tombes sur le bon find d'emblée.