[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

annoying BASH does not interpret quotation marks right?



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]