我想在以下bash脚本中添加变量${date}
:
ffmpeg -i in.flv -vf drawtext="fontfile=Sans.ttf:text='Today is ${date}':fontsize=6" out.flv
显然,${date}
不会在单引号中扩展,请注意,单引号后面会有双引号,这会使其更加复杂。
非常感谢。我在CentOS 6上。
答案 0 :(得分:11)
${date}
被扩展,因为它在双引号之间(双引号内的单引号只是字符)
用以下方法测试:
$ export date=SOMEVALUE
$ echo ffmpeg -i in.flv -vf drawtext="fontfile=/usr/share/fonts/dejavu/DejaVuLGCSans.ttf:text='Today is ${date}':fontsize=6" out.flv
ffmpeg -i in.flv -vf drawtext=fontfile=/usr/share/fonts/dejavu/DejaVuLGCSans.ttf:text='Today is SOMEVALUE':fontsize=6 out.flv
答案 1 :(得分:4)
您的${date}
会正确扩展。正如你自己所说,你用双引号括起整个字符串,而bash 将扩展为双引号。
内部单引号的事实根本不重要:
fg@erwin ~ $ ritchie="Goodbye world"
fg@erwin ~ $ echo "When Dennis passed away, he said '$ritchie'"
When Dennis passed away, he said 'Goodbye world'