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.
- Перенаправить вывод интерактивных команд python / ipython в файлы или переменные
- Отсутствует аргумент argpse в python 3
- Выполнение команд командной строки в PyCharm
- Python: скомпилируйте в приложение командной строки Unix
- Выполнение многострочных операторов Python в однострочной командной строке
Я добавлю еще один вариант в список: определите переменную как новую строку, затем используйте ее внутри двойных кавычек.
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...")
Для этого немного грубо использовать подоболочку, но она спасет вас от обратного сбрасывания ваших котировок.
- python3.3 matplotlib не может импортировать имя _tkagg
- Как отобразить перенаправленный stdin в Python?
- Python – могу ли я знать, произошла ли печать или нет?
- Как узнать, был ли запущен скрипт python с использованием опции -m интерпретатора?
- Ошибка запроса Python / MySQL: `Неизвестный столбец`
- Как получить «командную строку intellisense» (TAB TAB) для работы с скриптом Python?
- Создание терминальной программы с помощью Python
- Открытие Pycharm от терминала с помощью текущего пути
- Как скопировать текст в / из буфера обмена в Go?
- В чем разница между запуском ./file.py и python file.py?
- sys.stdin не закрывается на ctrl-d