Aller au contenu

Le Linux BAR - Discussion de tout et de rien


Dark26

Messages recommandés

  • 2 mois après...

J'utilise zsh depuis un petit moment sur mon mac maintenant mais je viens de rencontrer un pb qui m'est inconnu.

 

Pour mon travail, a un moment, je dois appeler un script de la manière suivante:

./script.sh path/to/things/may/contain/wildcards

 

par exemple:

./script.sh files/fichiers_nxi_*

 

le problème c'est que zsh essaye absolument d'interprêter cette wildcard, alors que le path n'est pas du tout à cet endroit de l'arborescence et que le tout devrait être simplement interprêté comme un paramètre que le script devra utiliser.

Je me récupère donc un: zsh: no matches found

Je peux contourner le pb en mettant des "..." autour du paramètre mais je voulais savoir s'il y avait un autre moyen pour m'éviter de faire ça, car je sais déjà que je n'y penserai jamais :craint:

 

Merci les anis!!!

Lien vers le commentaire
Partager sur d’autres sites

Bah ouais, je t'avouerais par contre que je ne passe presque jamais (foutue Debian Sid toujours cassée :transpi: ).

 

Et toi, quoi de neuf ?

 

Bah plein de trucs depuis qu'on s'est vu !

 

Faudra qu'on se fasse un truc un jour pour discuter et rigoler. D'ailleurs Créteil c'est sur le trajet Maison Laffite -> Savigny ;)

 

 

J'utilise zsh depuis un petit moment sur mon mac maintenant mais je viens de rencontrer un pb qui m'est inconnu.

 

Pour mon travail, a un moment, je dois appeler un script de la manière suivante:

./script.sh path/to/things/may/contain/wildcards

 

par exemple:

./script.sh files/fichiers_nxi_*

 

le problème c'est que zsh essaye absolument d'interprêter cette wildcard, alors que le path n'est pas du tout à cet endroit de l'arborescence et que le tout devrait être simplement interprêté comme un paramètre que le script devra utiliser.

Je me récupère donc un: zsh: no matches found

Je peux contourner le pb en mettant des "..." autour du paramètre mais je voulais savoir s'il y avait un autre moyen pour m'éviter de faire ça, car je sais déjà que je n'y penserai jamais :craint:

 

Merci les anis!!!

Tu peux utiliser --, mais ça ne fait que déplacer le problème :

 

./script.sh 'files/fichiers_nxi_*'

./script.sh -- files/fichiers_nxi_*

 

Sinon tu peux désactiver l'option GLOB dans zsh :

montfroc% setopt GLOBmontfroc% echo *bin boot dev etc home initrd.img initrd.img.old lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var vmlinuz vmlinuz.oldmontfroc% unsetopt GLOBmontfroc% echo **

man zshexpn pour plus d'infos.

 

Mais franchement je ne te le conseille pas. Le globbing, c'est très puissant tu risque de passer à côté de choses qui vont grandement de faciliter la vie. Mieux vaut prendre les bonnes habitudes directement. Ou sinon adapte ton script pour utiliser autre chose que l'étoile comme wildcard. Genre % comme en SQL.

Lien vers le commentaire
Partager sur d’autres sites

Bah plein de trucs depuis qu'on s'est vu !

 

Faudra qu'on se fasse un truc un jour pour discuter et rigoler. D'ailleurs Créteil c'est sur le trajet Maison Laffite -> Savigny ;)

Héhé, why not. Après, on va partir pas mal de temps en Allemagne avec aurielle, donc donc on risque juste de pas être là tout court ;)

Tu peux utiliser --, mais ça ne fait que déplacer le problème :

 

./script.sh 'files/fichiers_nxi_*'

./script.sh -- files/fichiers_nxi_*

 

Sinon tu peux désactiver l'option GLOB dans zsh :

montfroc% setopt GLOBmontfroc% echo *bin boot dev etc home initrd.img initrd.img.old lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var vmlinuz vmlinuz.oldmontfroc% unsetopt GLOBmontfroc% echo **
man zshexpn pour plus d'infos.

 

Mais franchement je ne te le conseille pas. Le globbing, c'est très puissant tu risque de passer à côté de choses qui vont grandement de faciliter la vie. Mieux vaut prendre les bonnes habitudes directement. Ou sinon adapte ton script pour utiliser autre chose que l'étoile comme wildcard. Genre % comme en SQL.

Ou alors, il faut l'échapper : echo \*

Mais ça ne fait aussi que reporter le problème. Je suis aussi d'avis d'utiliser une autre wildcard, c'est assez courant au final.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...