annoying BASH does not interpret quotation marks right?

Filippos Klironomos presariod at gmail.com
Sun May 7 23:09:41 UTC 2006


Hello list,

I'm trying to parse a list of videos I have to convert them to a different
format. The video names
have spaces in them so I do something like:

for file in *.flv ; do ffmpeg -i \"${file}\" \"${file}.avi\" ; done

but the quotmarks do not work and ffmpeg is not fed the whole video name but
only the
part up to the first space so it fails. On the contrary if I just echo the
whole command like:

for file in *.flv ; do echo ffmpeg -i \"${file}\" \"${file}.avi\" ; done

I get exactly what I expect which is the ffmpeg command with the full file
names enclosed in
quotemarks. if I just highlight that output and paste it back on the command
prompt it runs like
a charm.

So what am I missing? Why echoing the command works but running it doesn't?

I tried to escape some more (in case the escape characters needed to be
escaped to no avail).

Help!
Filippos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20060507/5cee24eb/attachment-0001.htm>


More information about the fedora-list mailing list