Эхо-переменная в файл
Я написал свой собственный файл репо и пытаюсь выполнить сценарий установки в 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