Один из моих рецептов в Yocto нужно создать файл, содержащий очень специфическую линию, что-то вроде:
${libdir}/something
Чтобы сделать это, у меня есть задание рецепт:
do_install() {
echo '${libdir}/something' >/path/to/my/file
}
Имея в виду, что Я хочу, чтобы строка точно, как показано, я не могу понять, как избежать ее, чтобы предотвратить замену bitbake
от собственного значения libdir
.
Первоначально я думал echo
команды с одинарными кавычками будет делать трюк (как это делает в bash
оболочке), но bitbake
должна интерпретировать линию перед тем пропуская его к корпусу. Я также попытался убежать от него как с $$
, так и с \$
безрезультатно.
Я ничего не могу найти в doco о предотвращении изменения переменных, просто связанных с непосредственными, отложенными и расширениями Python.
Что нужно сделать, чтобы получить эту строку в файле как есть?
Альтернатива, использующая только Утилиты оболочки bourne могут быть реализованы с помощью echo, awk и printf: 'echo '$ (awk' BEGIN {printf"% c {libdir}/something "}, 0x24} ')">/path/to/my/file' – PeterErnsthaft