Tu peux échapper les caractères spéciaux avec un filtre :
psy@tarasque:/tmp% ls *.ex
a ()'".ex
psy@tarasque:/tmp% ls *.ex|./escape.pl
a\ \(\)\'\".ex
psy@tarasque:/tmp% ls *.ex|./escape.pl|xargs cat
Tada !
Si tu as plusieurs variable, typiquement ta cible et ta destination, tu peux les échapper toutes les deux :
cible=$(echo $@|escape)
source=$(echo $+|escape)
echo $cible $source | xargs $(GENPDF) -o
[^] # Re: Réponses
Posté par psychoslave__ (site web personnel) . En réponse au journal Une alternative à make(1). Évalué à 2.
psy@tarasque:/tmp% ls *.ex
a ()'".ex
psy@tarasque:/tmp% ls *.ex|./escape.pl
a\ \(\)\'\".ex
psy@tarasque:/tmp% ls *.ex|./escape.pl|xargs cat
Tada !
Si tu as plusieurs variable, typiquement ta cible et ta destination, tu peux les échapper toutes les deux :
cible=$(echo $@|escape)
source=$(echo $+|escape)
echo $cible $source | xargs $(GENPDF) -o
Une ébauche de code pour escape.pl : https://linuxfr.org/~psychoslave__/28584.html