2011-12-22 12 views
10

मैं निम्नलिखित बैश लिपि में एक चर ${date} जोड़ना चाहते हैं:बैश: एकल उद्धरण में चर विस्तार/दोहरा कोड

ffmpeg -i in.flv -vf drawtext="fontfile=Sans.ttf:text='Today is ${date}':fontsize=6" out.flv 

जाहिर है, ${date} एकल उद्धरण में विस्तार नहीं होगा, कृपया यह ध्यान रखें कि वहाँ एकल कोट से परे एक डबल कोट है, जो इसे और भी जटिल बनाता है।

बहुत बहुत धन्यवाद। मैं CentOS 6.

उत्तर

10

${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 
3

आपका ${date} का विस्तार होगा सही ढंग से। जैसा कि आपने स्वयं कहा है, आप पूरे स्ट्रिंग को डबल कोट्स से घिराते हैं, और डबल कोट्स में चर का विस्तार करेंगे।

तथ्य वहाँ भीतरी एकल उद्धरण बात सब पर करता हैं कि नहीं:

[email protected] ~ $ ritchie="Goodbye world" 
[email protected] ~ $ echo "When Dennis passed away, he said '$ritchie'" 
When Dennis passed away, he said 'Goodbye world' 
संबंधित मुद्दे