Cameron Simpson wrote:
On 10Jan2009 22:34, RGH <rgheck(a)comcast.net> wrote:
> I'm trying to write a shell script to convert video files using vlc and
> avidemux, and I've run into a problem. I need to be able to do something
> like this:
>
> vlc -v -I dummy $FIL
>
--sout='#transcode{vcodec=dummy,acodec=mp3,ab=192}:std{access=file,mux=dummy,dst="$MP3"}'
an alternative:
--sout='#transcode{vcodec=dummy,acodec=mp3,ab=192}:std{access=file,mux=dummy,dst='"$MP3"'}'
Joachim Backes <joachim.backes(a)rhrk.uni-kl.de>
> vlc://quit
>
> But of course this doesn't work because the $MP3 variable doesn't get
> expanded in single quotes. The single quotes seem to need to be there to
> protect the "{", though. So, how can this be done?
No, they don't. They're there to protect the double quotes, presuming
you literally need double quotes in the --sout= option value.
You want to use double quotes.
If you want literal double quotes, escape them, eg:
--sout="#transcode...,dst=\"$MP3\"}"
(replace ... with the other stuff I left out)
Cheers,
--
Joachim Backes <joachim.backes(a)rhrk.uni-kl.de>