Thread Previous • Date Previous • Date Next • Thread Next |
Donald J Axel wrote:
Som det fremgår af eksemplet, indeholder filnavnene mellemrum, dette er min (udledbare) grund til at anvende quotes. Problemet er at der i regex'en indgik en Bash variabel med en "præ-regex", som åbenbart gav nogle problemer i scriptet. Ved at tilføje et eval før, så hjalp det. Eval'en krævede dog at hele linien kunne evalueres og udføres, derfor var de ekstra escapede quotes (som er vist i "echo" linien) nødvendige.---{sakset}--- root="/home/kim/projects/" cmdPerl="perl -pi -e 's/${root//\//\/}\///g'" ${cmdPerl} "rapport xxx.html" ---{sakset}--- Når jeg prøver at debugge, så får jeg den rigtige kommando echo "${cmdPerl} \"rapport xxx.html\"" perl -pi -e 's/\/home\/kim\/projects\/\///g' "rapport xxx.html"Ved at erstatte "echo" med "eval", så virker det :-)Skyldes det mon ikke at "eval" fjerner de mange quotes omkring"rapport x.html" som du af en eller anden (ikke udledbar) grund har sat?
/Kim -- "Good judgment comes from experience; experience comes from bad judgment."
Thread Previous • Date Previous • Date Next • Thread Next |