я выполнить следующее Баш скрипт:Как использовать переменную Баш скрипт с СЭД
#!/bin/bash
version=$1
echo $version
sed 's/\${version.number}/$version/' template.txt > readme.txt
Я ожидаю, чтобы заменить все экземпляры $ {} version.number с содержимым переменной «версии» , Вместо этого вставляется буквальный текст $ version.
Что нужно сделать, чтобы sed использовало текущее значение версии $ вместо этого?
Но знак доллара должен быть экранирован, потому что выражение рассматривается как регулярное выражение 'sed'. Поэтому я думаю, что это должно быть '\\ $'. – Philipp
@Philipp, фактически знак '$' является только привязкой, когда он является последним символом регулярного выражения (или, возможно, подвыражения). Но я признаю, что мне повезло. ;) Вы можете дополнительно добавить escape-косую черту, но тогда это '\\\ $'. –
Спасибо за исправление. – Philipp