在bash函数中将单引号内的选项传递给vlc时转义变量

在bash函数中将单引号内的选项传递给vlc时转义变量,bash,escaping,vlc,Bash,Escaping,Vlc,我正在编写一个bash函数来调用vlc,将视频捕获到文件中。我希望文件名是timestamp。但是文件名的dst选项位于单个引号内。我怎样才能做到这一点 bash函数和vlc命令是: function vlc-capture-func() { local capture_output_file="/path/vlc-capture-$(date +%Y%m%d%H%M%S)" vlc qtcapture:// -vvvv --no-drop-late-frames --no-s

我正在编写一个bash函数来调用vlc,将视频捕获到文件中。我希望文件名是timestamp。但是文件名的
dst
选项位于单个引号内。我怎样才能做到这一点

bash函数和vlc命令是:

function vlc-capture-func() {
    local capture_output_file="/path/vlc-capture-$(date +%Y%m%d%H%M%S)"

    vlc qtcapture:// -vvvv --no-drop-late-frames --no-skip-frames\
 --sout='#transcode{vcodec=h264,fps=15,venc=x264{preset=fast,tune=zerolatency,keyint=30,bframes=0,ref=1,level=30,profile=baseline,hrd=cbr,crf=20,ratetol=1.0,vbv-maxrate=1200,vbv-bufsize=1200,lookahead=0}}:standard{access=file,mux=ps,dst=$capture_output_file}'\
 --qtcapture-width=1280 --qtcapture-height=720 --live-caching=300 --intf=macosx

    echo "Done!"
}
希望我做了一个适当的标题和明确的问题,也请纠正我,如果有任何错误的英语


谢谢你的帮助

改用双引号。比如:

"#transcode{vcodec=h264,fps=15,venc=x264{preset=fast,tune=zerolatency,keyint=30,bframes=0,ref=1,level=30,profile=baseline,hrd=cbr,crf=20,ratetol=1.0,vbv-maxrate=1200,vbv-bufsize=1200,lookahead=0}}:standard{access=file,mux=ps,dst=${capture_output_file}}'