Bonjour,
Je souhaite désactiver l'expansion du path dans une variable.
Voici mon script:
OPTION=" -I /var/*"
ma_commande ${OPTION}
Or quand j'exécute ce script, les options passées à «ma_commande» sont le résultat de l'expansion de /var/*, ce qui fait que c'est la commande suivante qui est exécutée:
ma_commande -I /var/run /var/lib /var/log
Comment faire en sorte que l'expansion du path n'ait pas lieu ?
En espérant avoir été clair.
Merci.
# facile
Posté par NeoX . Évalué à 1.
OPTION=" -l /var/"
ma_commande ${OPTION}
[^] # Re: facile
Posté par mxt . Évalué à 1.
Mon script à besoin du *
# remettre des guillemets
Posté par yvounet14 . Évalué à 1.
Et voilà !
[^] # Re: remettre des guillemets
Posté par mxt . Évalué à 1.
[^] # Re: remettre des guillemets
Posté par NeoX . Évalué à 1.
pourquoi utiliser * dans ton argument...
si tu ne veux pas étendre le chemin...
[^] # Re: remettre des guillemets
Posté par mxt . Évalué à 1.
Je viens de trouver une solution par très satisfaisante: utiliser set -f pour désactiver l'expansion des chemins.
OPTION=" -I /var/*"
set -f
ma_commande ${OPTION}
set +f
Je pensais juste pouvoir trouver quelque chose de plus élégant, par ce que là je suis obliger de désactiver l'expansion pour toute la commande et non pas juste pour le contenu de la variable OPTION.
[^] # Re: remettre des guillemets
Posté par NeoX . Évalué à 1.
et utiliser un autre caractere que le * ne serait pas possible ?
vu que visiblement c'est TA_commande, tu peux surement utiliser un autre argument.
[^] # Re: remettre des guillemets
Posté par NeoX . Évalué à 1.
peut-etre simplement en echappant le *
[^] # Re: remettre des guillemets
Posté par mxt . Évalué à 1.
Échapper l'* ne marche pas non plus.
[^] # Re: remettre des guillemets
Posté par NeoX . Évalué à 1.
http://dar.linux.free.fr/doc/man/dar.html
le -l /var/* serait pour lister le contenu de /var/ contenu dans l'archive
peut-etre alors faire la ligne de commande
[^] # Re: remettre des guillemets
Posté par mxt . Évalué à 1.
J'ai besoin de cette *.
La solution «débrouille toi sans l'* n'est pas une solution». Le jour où tu as un problème avec Linux, plutôt que d'essayer de le résoudre, tu le contournes en passant sous Windows ?
[^] # Re: remettre des guillemets
Posté par NeoX . Évalué à 1.
donc soit tu regardes à mettre le * plus loin
soit tu essaye differemment.
tu as essayé le
sans les {} ce qui eviteraitde le faire executer par le shell avant ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.