Эхо-переменная в файл

Я написал свой собственный файл репо и пытаюсь выполнить сценарий установки в bash.

Мой код:

echo -e "[repo name]\nname=repo - $serverver - $basearch...\n.." >> /etc/yum.repos.d/reponame.repo

Однако когда я запускаю команду $serverver а также $basearch не хватает.

Как я могу отобразить переменные в файл, не пытаясь определить их?

Я пытался

echo -E

"$serverver"

'$serverver'

`$serverver`

\"$serverver\"

2 ответа

echo -e "[repo name]\nname=repo - \$serverver - \$basearch...\n.." >> /etc/yum.repos.d/reponame.repo

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

Добавить в yum.repos.d использовать одинарные кавычки' вместо двойного", Это сохраняет $ признаки как есть, что позже интерпретируется yum,

echo -e '[repo name]\nname=repo - $serverver - $basearch...\n..' >> /etc/yum.repos.d/reponame.repo
Другие вопросы по тегам