Bash: переменная в одиночной кавычке

Сначала рассмотрим этот вопрос: Bash или GoogleCL: новая строка в строковом параметре

Я хочу добавить переменную $ {date} в «summary» сейчас:

google youtube post ~/videos/cat-falls-down-stairs.avi Comedy \ --tags 'currency of the internet' \ --summary $'Today is ${date}. Poor whiskers takes a tumble.\nShe'\''s fine, though, don'\''t worry.' 

но переменная не будет расширяться внутри одной кавычки в bash.

Можно ли это сделать?

Примечание. GoogleCL – это программа командной строки, написанная на языке python. Я на Ubuntu 10.10 с Python 2.6.

Я добавлю еще один вариант в список: определите переменную как новую строку, затем используйте ее внутри двойных кавычек.

 nl=$'\n' ... --summary "Today is ${date}. Poor whiskers takes a tumble.${nl}She's fine, though, don't worry." 

Вместо того, чтобы пытаться расширить переменную внутри одной кавычки, типичным решением является объединение одно- и двухцилиндровых строк. Другими словами:

 «Сегодня есть» «$ {date}».  Бедные' ...

Переменные не расширяются в одинарных кавычках. Либо вы можете сделать, как предлагает Уильям, либо переписать строку в двойные кавычки, которая будет расширять переменную по своему усмотрению.

 "Today is ${date}. Poor whiskers takes a tumble.\nShe's fine, though, don't worry." 

Бонус: таким образом вам не придется избегать одиночных кавычек.

Теперь я прочитал ссылку, и вы говорите, что \ n не будет расширяться. Обходной путь для этого будет примерно таким:

 --summary $(echo -e "Today is...") 

Для этого немного грубо использовать подоболочку, но она спасет вас от обратного сбрасывания ваших котировок.